summaryrefslogtreecommitdiff
path: root/playbooks/legacy
diff options
context:
space:
mode:
authorSam Betts <sam@code-smash.net>2017-10-11 15:01:58 +0100
committerSam Betts <sam@code-smash.net>2017-10-18 16:52:46 +0100
commit4b37c29b5e180d68e744e8114e2f414023d1376a (patch)
tree3fe7ea35aade158b2f37acf290986976b0289d47 /playbooks/legacy
parent5a5d485c1d5982bc7ad29911b400c21c229b1514 (diff)
downloadironic-4b37c29b5e180d68e744e8114e2f414023d1376a.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. Change-Id: Ib728fadbdab2eb9f1ba5112297a32dbdbfd1d5fd
Diffstat (limited to 'playbooks/legacy')
-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-bios-agent_ipmitool-tinyipa/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa/run.yaml157
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa/run.yaml157
-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_ipmitool-tinyipa/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_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-multitenant-network/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-multitenant-network/run.yaml183
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-parallel/post.yaml15
-rw-r--r--playbooks/legacy/tempest-dsvm-ironic-parallel/run.yaml55
-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
40 files changed, 3421 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-bios-agent_ipmitool-tinyipa/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-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-partition-bios-agent_ipmitool-tinyipa/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa/run.yaml
new file mode 100644
index 000000000..de348aefa
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa/run.yaml
@@ -0,0 +1,157 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa
+ from old job gate-tempest-dsvm-ironic-ipa-partition-bios-agent_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=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 [ "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-bios-pxe_ipmitool-tinyipa/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-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-bios-pxe_ipmitool-tinyipa/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa/run.yaml
new file mode 100644
index 000000000..b7b11416c
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa/run.yaml
@@ -0,0 +1,157 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa
+ from old job gate-tempest-dsvm-ironic-ipa-partition-bios-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 [ "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_ipmitool-tinyipa/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-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-wholedisk-bios-pxe_ipmitool-tinyipa/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa/run.yaml
new file mode 100644
index 000000000..6784b7f57
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa/run.yaml
@@ -0,0 +1,157 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa
+ from old job gate-tempest-dsvm-ironic-ipa-wholedisk-bios-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 [ "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-multitenant-network/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-multitenant-network/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-multitenant-network/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-multitenant-network/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-multitenant-network/run.yaml
new file mode 100644
index 000000000..18581e21b
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-multitenant-network/run.yaml
@@ -0,0 +1,183 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-multitenant-network from old
+ job gate-tempest-dsvm-ironic-multitenant-network-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_multitenancy"
+
+ 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=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=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-parallel/post.yaml b/playbooks/legacy/tempest-dsvm-ironic-parallel/post.yaml
new file mode 100644
index 000000000..e07f5510a
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-parallel/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-parallel/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-parallel/run.yaml
new file mode 100644
index 000000000..14c04cc2c
--- /dev/null
+++ b/playbooks/legacy/tempest-dsvm-ironic-parallel/run.yaml
@@ -0,0 +1,55 @@
+- hosts: all
+ name: Autoconverted job legacy-tempest-dsvm-ironic-parallel from old job gate-tempest-dsvm-ironic-parallel-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: |
+ 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
+ # NOTE(deva): tempest-lib support was added in Mitaka
+ # but this job does not run on stable branches, so we can keep it simple here
+ export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
+ export DEVSTACK_GATE_IRONIC=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_VIRT_DRIVER=ironic
+ export DEVSTACK_GATE_CONFIGDRIVE=1
+ export TEMPEST_CONCURRENCY=2
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+ # Run only baremetal tests
+ export DEVSTACK_GATE_TEMPEST_REGEX='ironic'
+
+ 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 }}'