- hosts: all
  name: Autoconverted job legacy-dsvm-nodepool-py35-src from old job gate-dsvm-nodepool-py35-src-nv
  tasks:

    - name: Ensure legacy workspace directory
      file:
        path: '{{ ansible_user_dir }}/workspace'
        state: directory

    - shell:
        cmd: |
          set -e
          set -x
          cat > clonemap.yaml << EOF
          clonemap:
            - name: openstack-infra/devstack-gate
              dest: devstack-gate
          EOF
          /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
              git://git.openstack.org \
              openstack-infra/devstack-gate
        executable: /bin/bash
        chdir: '{{ ansible_user_dir }}/workspace'
      environment: '{{ zuul | zuul_legacy_vars }}'

    - shell:
        cmd: |
          set -e
          set -x
          export PYTHONUNBUFFERED=true
          # Disable tempest as nodepool is talking to the cloud not tempest.
          export DEVSTACK_GATE_TEMPEST=0
          # Use neutron as the public clouds in use are neutron based.
          export DEVSTACK_GATE_NEUTRON=1
          # The nodepool process needs sudo rights in order to
          # perform dib image builds
          export DEVSTACK_GATE_REMOVE_STACK_SUDO=0
          # Disable services we do not need for nodepool
          export DEVSTACK_LOCAL_CONFIG="disable_service horizon"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-acentral"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-acompute"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-alarm-evaluator"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-alarm-notifier"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-anotification"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-api"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-collector"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service cinder"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-bak"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-sch"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-api"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-vol"

          if [ "-py35" == "-py35" ]; then
              export DEVSTACK_GATE_USE_PYTHON3=True

              # swift is not ready for python3 yet
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-account"
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-container"
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-object"
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-proxy"
          fi

          export BRANCH_OVERRIDE=default
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          # Because we are testing a non standard project, add the
          # our project repository. This makes zuul do the right
          # reference magic for testing changes.
          export PROJECTS="openstack-infra/nodepool $PROJECTS"
          # note the actual url here is somewhat irrelevant because it
          # caches in nodepool, however make it a valid url for
          # documentation purposes.
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin nodepool git://git.openstack.org/openstack-infra/nodepool"
          export DEVSTACK_PROJECT_FROM_GIT="diskimage-builder"
          export DEVSTACK_PROJECT_FROM_GIT+=",glean"
          export DEVSTACK_PROJECT_FROM_GIT+=",shade"

          # Start with all images disabled.
          export NODEPOOL_PAUSE_CENTOS_7_DIB=true
          export NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB=true
          export NODEPOOL_PAUSE_FEDORA_26_DIB=true
          export NODEPOOL_PAUSE_OPENSUSE_423_DIB=true
          export NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=true
          export NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=true

          if [ "" == "" ] ; then
              # dsvm-nodepool-src
              export NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=false
          elif [ "" == "-debian" ] ; then
              # dsvm-nodepool-debian-src
              export NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB=false
          elif [ "" == "-opensuse" ] ; then
              # dsvm-nodepool-opensuse-src
              export NODEPOOL_PAUSE_OPENSUSE_423_DIB=false
          elif [ "" == "-redhat" ] ; then
              # dsvm-nodepool-redhat-src
              export NODEPOOL_PAUSE_CENTOS_7_DIB=false
              export NODEPOOL_PAUSE_FEDORA_26_DIB=false
          elif [ "" == "-ubuntu" ] ; then
              # dsvm-nodepool-ubuntu-src
              export NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=false
              export NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=false
          fi
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_CENTOS_7_DIB=$NODEPOOL_PAUSE_CENTOS_7_DIB"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB=$NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_FEDORA_26_DIB=$NODEPOOL_PAUSE_FEDORA_26_DIB"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_OPENSUSE_423_DIB=$NODEPOOL_PAUSE_OPENSUSE_423_DIB"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=$NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=$NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB"

          function post_test_hook {
              /opt/stack/new/nodepool/tools/check_devstack_plugin.sh
          }
          export -f post_test_hook

          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
          ./safe-devstack-vm-gate-wrap.sh
        executable: /bin/bash
        chdir: '{{ ansible_user_dir }}/workspace'
      environment: '{{ zuul | zuul_legacy_vars }}'