summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Betts <sam@code-smash.net>2017-10-11 15:01:58 +0100
committerVladyslav Drok <vdrok@mirantis.com>2017-10-20 15:40:25 +0000
commitf2ce509e082a0b68e6662f4325282b181827fa41 (patch)
treeae3f8dde3f9a6f4715425fd094bd13ffe9ff10f7
parentf0b0521dd6e90a3b99e1ce894399bd0c5f8ad935 (diff)
downloadironic-f2ce509e082a0b68e6662f4325282b181827fa41.tar.gz
Move ironic legacy jobs into the ironic tree
This patch moves the legacy ironic CI jobs into the ironic tree instead of storing them in openstack-infra/openstack-zuul-jobs to give us control as we migrate the legacy jobs to the new ansible roles. This also removes branch specifics from project.yaml, leaving only the jobs we need to run on current release. Change-Id: Ib728fadbdab2eb9f1ba5112297a32dbdbfd1d5fd (cherry picked from commit 4b37c29b5e180d68e744e8114e2f414023d1376a)
-rw-r--r--playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/post.yaml15
-rw-r--r--playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/run.yaml217
-rw-r--r--playbooks/legacy/grenade-dsvm-ironic/post.yaml15
-rw-r--r--playbooks/legacy/grenade-dsvm-ironic/run.yaml180
-rw-r--r--playbooks/legacy/ironic-dsvm-functional/post.yaml15
-rw-r--r--playbooks/legacy/ironic-dsvm-functional/run.yaml63
-rw-r--r--playbooks/legacy/ironic-dsvm-standalone/post.yaml15
-rw-r--r--playbooks/legacy/ironic-dsvm-standalone/run.yaml98
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-bfv/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-bfv/run.yaml169
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-inspector/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-inspector/run.yaml195
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/run.yaml182
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/run.yaml157
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/run.yaml157
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/run.yaml166
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/run.yaml183
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/run.yaml157
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/run.yaml157
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/run.yaml156
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/run.yaml175
-rw-r--r--zuul.d/project.yaml37
31 files changed, 2674 insertions, 0 deletions
diff --git a/playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/post.yaml b/playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/run.yaml b/playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/run.yaml
new file mode 100644
index 000000000..576a14194
--- /dev/null
+++ b/playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/run.yaml
@@ -0,0 +1,217 @@
+- hosts: primary
+ name: Autoconverted job legacy-grenade-dsvm-ironic-multinode-multitenant from old
+ job gate-grenade-dsvm-ironic-multinode-multitenant-ubuntu-xenial
+ 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: |
+ cat << 'EOF' >> ironic-vars-early
+ # Set this early so that we do not have to be as careful with builder ordering in jobs.
+ export GRENADE_PLUGINRC="enable_grenade_plugin ironic https://git.openstack.org/openstack/ironic"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export PROJECTS="openstack-dev/grenade $PROJECTS"
+ export DEVSTACK_GATE_GRENADE=pullup
+ export DEVSTACK_GATE_OS_TEST_TIMEOUT=2400
+ export DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT=1200
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BUILD_DEPLOY_RAMDISK=False"
+ export DEVSTACK_GATE_TLSPROXY=0
+ export BUILD_TIMEOUT
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export GRENADE_PLUGINRC+=$'\n'"enable_grenade_plugin networking-generic-switch https://git.openstack.org/openstack/networking-generic-switch"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TOPOLOGY="multinode"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_OS_TEST_TIMEOUT=2400
+ # networking-generic-switch requires sudo to execute ovs-vsctl commands
+ export DEVSTACK_GATE_REMOVE_STACK_SUDO=0
+ export PROJECTS="openstack/networking-generic-switch $PROJECTS"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin networking-generic-switch git://git.openstack.org/openstack/networking-generic-switch"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_USE_LINK_LOCAL=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"OVS_PHYSICAL_BRIDGE=brbm"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"PHYSICAL_NETWORK=mynetwork"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_PROVISION_NETWORK_NAME=ironic-provision"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_PROVISION_SUBNET_PREFIX=10.0.5.0/24"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_PROVISION_SUBNET_GATEWAY=10.0.5.1"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_PLUGIN=ml2"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_USE_PROVIDERNET_FOR_PUBLIC=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_TENANT_VLANS=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_ML2_TENANT_NETWORK_TYPE=vlan"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TENANT_VLAN_RANGE=100:150"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_NETWORK_INTERFACES=flat,neutron"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_NETWORK_INTERFACE=neutron"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=4
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=agent_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "agent_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "agent_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "wholedisk" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=7"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/grenade-dsvm-ironic/post.yaml b/playbooks/legacy/grenade-dsvm-ironic/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/grenade-dsvm-ironic/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/grenade-dsvm-ironic/run.yaml b/playbooks/legacy/grenade-dsvm-ironic/run.yaml
new file mode 100644
index 000000000..6ba64bd59
--- /dev/null
+++ b/playbooks/legacy/grenade-dsvm-ironic/run.yaml
@@ -0,0 +1,180 @@
+- hosts: all
+ name: Autoconverted job legacy-grenade-dsvm-ironic from old job gate-grenade-dsvm-ironic-ubuntu-xenial-nv
+ tasks:
+
+ - name: Ensure legacy workspace directory
+ file:
+ path: '{{ ansible_user_dir }}/workspace'
+ state: directory
+
+ - name: Show the environment
+ shell:
+ cmd: |
+ env
+ executable: /bin/bash
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - 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: |
+ cat << 'EOF' >> ironic-vars-early
+ # Set this early so that we do not have to be as careful with builder ordering in jobs.
+ export GRENADE_PLUGINRC="enable_grenade_plugin ironic https://git.openstack.org/openstack/ironic"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export PROJECTS="openstack-dev/grenade $PROJECTS"
+ export DEVSTACK_GATE_GRENADE=pullup
+ export DEVSTACK_GATE_OS_TEST_TIMEOUT=2400
+ export DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT=1200
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BUILD_DEPLOY_RAMDISK=False"
+ export DEVSTACK_GATE_TLSPROXY=0
+ export BUILD_TIMEOUT
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=pxe_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "pxe_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "pxe_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "partition" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=7"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/ironic-dsvm-functional/post.yaml b/playbooks/legacy/ironic-dsvm-functional/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/ironic-dsvm-functional/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/ironic-dsvm-functional/run.yaml b/playbooks/legacy/ironic-dsvm-functional/run.yaml
new file mode 100644
index 000000000..737281d28
--- /dev/null
+++ b/playbooks/legacy/ironic-dsvm-functional/run.yaml
@@ -0,0 +1,63 @@
+- hosts: all
+ name: Autoconverted job legacy-ironic-dsvm-functional from old job gate-ironic-dsvm-functional-ubuntu-xenial
+ 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
+ cat << 'EOF' >>"/tmp/dg-local.conf"
+ [[local|localrc]]
+ enable_plugin ironic git://git.openstack.org/openstack/ironic
+
+ EOF
+ executable: /bin/bash
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export TEMPEST_CONCURRENCY=2
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+ export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
+ export DEVSTACK_GATE_TEMPEST_REGEX='ironic'
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+
+ # No post_test_hook is needed while tests live in tempest
+ 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 }}'
diff --git a/playbooks/legacy/ironic-dsvm-standalone/post.yaml b/playbooks/legacy/ironic-dsvm-standalone/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/ironic-dsvm-standalone/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/ironic-dsvm-standalone/run.yaml b/playbooks/legacy/ironic-dsvm-standalone/run.yaml
new file mode 100644
index 000000000..bb5dc4599
--- /dev/null
+++ b/playbooks/legacy/ironic-dsvm-standalone/run.yaml
@@ -0,0 +1,98 @@
+- hosts: all
+ name: Autoconverted job legacy-ironic-dsvm-standalone from old job gate-ironic-dsvm-standalone-ubuntu-xenial
+ 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: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=4
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_REGEX="ironic_standalone"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_IRONIC_DRIVER=agent_ipmitool
+ export OVERRIDE_ENABLED_SERVICES="g-api,g-reg,q-agt,q-dhcp,q-l3,q-svc,key,mysql,rabbit,ir-api,ir-cond,s-account,s-container,s-object,s-proxy,tempest"
+
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ export DEVSTACK_LOCAL_CONFIG="enable_plugin ironic git://git.openstack.org/openstack/ironic"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=6"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER=agent_ipmitool"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"SWIFT_ENABLE_TEMPURLS=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"SWIFT_TEMPURL_KEY=secretkey"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,agent_ipmitool,pxe_ipmitool"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_AUTOMATED_CLEAN_ENABLED=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_USE_MOD_WSGI=True"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-bfv/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-bfv/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-bfv/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-bfv/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-bfv/run.yaml
new file mode 100644
index 000000000..33d323d31
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-bfv/run.yaml
@@ -0,0 +1,169 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-bfv from old job gate-tempest-dsvm-ironic-bfv-ubuntu-xenial
+ 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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_REGEX="baremetal_boot_from_volume"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_STORAGE_INTERFACES=cinder,noop"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_STORAGE_INTERFACE=cinder"
+ # We have to enable cinder this way, as normally when
+ # DEVSTACK_GATE_IRONIC=1 it disables all the cinder services.
+ export ENABLED_SERVICES=cinder,c-sch,c-api,c-vol
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=agent_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "agent_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "agent_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "wholedisk" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=3"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-inspector/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-inspector/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-inspector/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-inspector/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-inspector/run.yaml
new file mode 100644
index 000000000..ad31ebe38
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-inspector/run.yaml
@@ -0,0 +1,195 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-inspector from old job gate-tempest-dsvm-ironic-inspector-ubuntu-xenial-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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_REGEX="InspectorBasicTest"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export PROJECTS="openstack/ironic-inspector $PROJECTS"
+ export PROJECTS="openstack/python-ironic-inspector-client $PROJECTS"
+ export DEVSTACK_GATE_IRONIC_INSPECTOR=1
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic-inspector git://git.openstack.org/openstack/ironic-inspector"
+
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic-inspector'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic-inspector'"
+ fi
+
+ export IRONIC_INSPECTOR_AUTO_DISCOVERY=0
+ if [ "$IRONIC_INSPECTOR_AUTO_DISCOVERY" == "1" ]; then
+ # discovery test requires sudo for iptables and virsh
+ export DEVSTACK_GATE_REMOVE_STACK_SUDO=0
+ # enable enroll hook
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_NODE_NOT_FOUND_HOOK=enroll"
+ # we are deleting node from ironic for simulate node discovery,
+ # so inspector has to sync cache asap
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_CLEAN_UP_PERIOD=5"
+ fi
+
+ # Make IPXE configuration consistent between Mitaka and Master
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_IPXE_ENABLED=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_RAMDISK_ELEMENT=ironic-agent"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_MANAGE_FIREWALL=True"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=agent_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "agent_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "agent_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "wholedisk" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=1"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/run.yaml
new file mode 100644
index 000000000..3d17b1472
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/run.yaml
@@ -0,0 +1,182 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3
+ from old job gate-tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3-ubuntu-xenial-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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_REGEX="ironic"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_USE_PYTHON3=True
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ cat << 'EOF' >>"/tmp/dg-local.conf"
+ [[local|localrc]]
+ disable_service s-account
+ disable_service s-container
+ disable_service s-object
+ disable_service s-proxy
+
+ EOF
+ executable: /bin/bash
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=pxe_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "pxe_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "pxe_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "wholedisk" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=1"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/run.yaml
new file mode 100644
index 000000000..a1f35af2a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/run.yaml
@@ -0,0 +1,157 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-partition-redfish-tinyipa
+ from old job gate-tempest-dsvm-ironic-ipa-partition-redfish-tinyipa-ubuntu-xenial
+ 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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_REGEX="ironic"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=redfish
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "redfish" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "redfish" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "partition" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=1"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/run.yaml
new file mode 100644
index 000000000..60c158273
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/run.yaml
@@ -0,0 +1,157 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa
+ from old job gate-tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa-ubuntu-xenial
+ 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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_REGEX="ironic"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=pxe_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "pxe_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "pxe_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "partition" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "uefi" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=1"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/run.yaml
new file mode 100644
index 000000000..64e97000a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/run.yaml
@@ -0,0 +1,166 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa
+ from old job gate-tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa-ubuntu-xenial-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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_USE_RESOURCE_CLASSES=True"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_REGEX="ironic"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=pxe_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "pxe_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "pxe_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "partition" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=2"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/run.yaml
new file mode 100644
index 000000000..4def3ef8c
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/run.yaml
@@ -0,0 +1,183 @@
+- hosts: primary
+ name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode
+ from old job gate-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode-ubuntu-xenial-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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TOPOLOGY="multinode"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_OS_TEST_TIMEOUT=2400
+ # networking-generic-switch requires sudo to execute ovs-vsctl commands
+ export DEVSTACK_GATE_REMOVE_STACK_SUDO=0
+ export PROJECTS="openstack/networking-generic-switch $PROJECTS"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin networking-generic-switch git://git.openstack.org/openstack/networking-generic-switch"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_USE_LINK_LOCAL=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"OVS_PHYSICAL_BRIDGE=brbm"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"PHYSICAL_NETWORK=mynetwork"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_PROVISION_NETWORK_NAME=ironic-provision"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_PROVISION_SUBNET_PREFIX=10.0.5.0/24"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_PROVISION_SUBNET_GATEWAY=10.0.5.1"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_PLUGIN=ml2"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_USE_PROVIDERNET_FOR_PUBLIC=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_TENANT_VLANS=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_ML2_TENANT_NETWORK_TYPE=vlan"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TENANT_VLAN_RANGE=100:150"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_NETWORK_INTERFACES=flat,neutron"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_NETWORK_INTERFACE=neutron"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=4
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=agent_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "agent_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "agent_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "wholedisk" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=7"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/run.yaml
new file mode 100644
index 000000000..242459b5b
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/run.yaml
@@ -0,0 +1,157 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa
+ from old job gate-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa-ubuntu-xenial-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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_REGEX="ironic"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=agent_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "agent_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "agent_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "wholedisk" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=1"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/run.yaml
new file mode 100644
index 000000000..5f6b04d96
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/run.yaml
@@ -0,0 +1,157 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa
+ from old job gate-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa-ubuntu-xenial-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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_REGEX="ironic"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=pxe_snmp
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "pxe_snmp" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "pxe_snmp" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "wholedisk" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=1"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/run.yaml
new file mode 100644
index 000000000..ba8a9faee
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/run.yaml
@@ -0,0 +1,156 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-pxe_ipa-full from old job gate-tempest-dsvm-ironic-pxe_ipa-full-ubuntu-xenial-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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_FULL=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=pxe_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "pxe_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "pxe_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "partition" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=7"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/post.yaml
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff --git a/playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/run.yaml
new file mode 100644
index 000000000..c590f3922
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/run.yaml
@@ -0,0 +1,175 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-pxe_ipmitool-postgres from old
+ job gate-tempest-dsvm-ironic-pxe_ipmitool-postgres-ubuntu-xenial-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: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
+ # Standardize VM size for each supported ramdisk
+ case "tinyipa" in
+ 'tinyipa')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'tinyipa256')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
+ ;;
+ 'coreos')
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
+ ;;
+ # if using a ramdisk without a known good value, use the devstack
+ # default by not exporting any value for IRONIC_VM_SPECS_RAM
+ esac
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_TEMPEST_REGEX="ironic"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_GATE_POSTGRES=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-extra-vars
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_IPXE_ENABLED=False"
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ cat << 'EOF' >> ironic-vars-early
+ # use tempest plugin
+ if [[ "$ZUUL_BRANCH" != "master" ]] ; then
+ # NOTE(jroll) if this is not a patch against master, then
+ # fetch master to install the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
+ else
+ # on master, use the local change, so we can pick up any changes to the plugin
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
+ fi
+ export TEMPEST_CONCURRENCY=1
+
+ EOF
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/ironic $PROJECTS"
+ export PROJECTS="openstack/ironic-lib $PROJECTS"
+ export PROJECTS="openstack/ironic-python-agent $PROJECTS"
+ export PROJECTS="openstack/python-ironicclient $PROJECTS"
+ export PROJECTS="openstack/pyghmi $PROJECTS"
+ export PROJECTS="openstack/virtualbmc $PROJECTS"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export DEVSTACK_GATE_IRONIC_DRIVER=pxe_ipmitool
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then
+ export DEVSTACK_GATE_TLSPROXY=1
+ fi
+
+ if [ "pxe_ipmitool" == "pxe_snmp" ] ; then
+ # explicitly enable pxe_snmp driver
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
+ fi
+
+ if [ "pxe_ipmitool" == "redfish" ] ; then
+ # When deploying with redfish we need to enable the "redfish"
+ # hardware type
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
+ fi
+
+ if [ "partition" == "wholedisk" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
+ else
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
+ fi
+
+ if [ -n "" ] ; then
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
+ else
+ export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
+ fi
+
+ if [ "bios" == "uefi" ] ; then
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
+ fi
+
+ export DEVSTACK_PROJECT_FROM_GIT=""
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=1"
+
+ # Ensure the ironic-vars-EARLY file exists
+ touch ironic-vars-early
+ # Pull in the EARLY variables injected by the optional builders
+ source ironic-vars-early
+
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
+
+ # Ensure the ironic-EXTRA-vars file exists
+ touch ironic-extra-vars
+ # Pull in the EXTRA variables injected by the optional builders
+ source ironic-extra-vars
+
+ 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 }}'
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
new file mode 100644
index 000000000..310c2e362
--- /dev/null
+++ b/zuul.d/project.yaml
@@ -0,0 +1,37 @@
+- project:
+ name: openstack/ironic
+ check:
+ jobs:
+ - ironic-tempest-dsvm-pxe_ipmitool-postgres:
+ voting: false
+ - ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa
+ - ironic-tempest-dsvm-ipa-wholedisk-bios-pxe_snmp-tinyipa:
+ voting: false
+ - ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa
+ - ironic-tempest-dsvm-ipa-partition-pxe_ipmitool-tinyipa-python3:
+ voting: false
+ - ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode
+ - ironic-tempest-dsvm-ipa-partition-redfish-tinyipa
+ - ironic-tempest-dsvm-bfv
+ - ironic-dsvm-standalone
+ - ironic-tempest-dsvm-ironic-inspector:
+ voting: false
+ - ironic-grenade-dsvm
+ - ironic-grenade-dsvm-multinode-multitenant
+ gate:
+ queue: ironic
+ jobs:
+ - ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa
+ - ironic-tempest-dsvm-ipa-partition-redfish-tinyipa
+ - ironic-tempest-dsvm-bfv
+ - ironic-dsvm-standalone
+ - ironic-grenade-dsvm
+ - ironic-grenade-dsvm-multinode-multitenant
+ - ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode
+ experimental:
+ jobs:
+ - ironic-dsvm-functional
+ - ironic-tempest-dsvm-pxe_ipa-full:
+ voting: false
+ - ironic-tempest-dsvm-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa:
+ voting: false