From 4b37c29b5e180d68e744e8114e2f414023d1376a Mon Sep 17 00:00:00 2001 From: Sam Betts Date: Wed, 11 Oct 2017 15:01:58 +0100 Subject: [PATCH] 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 --- .../post.yaml | 15 ++ .../run.yaml | 217 +++++++++++++++ .../legacy/grenade-dsvm-ironic/post.yaml | 15 ++ playbooks/legacy/grenade-dsvm-ironic/run.yaml | 180 +++++++++++++ .../legacy/ironic-dsvm-functional/post.yaml | 15 ++ .../legacy/ironic-dsvm-functional/run.yaml | 63 +++++ .../legacy/ironic-dsvm-standalone/post.yaml | 15 ++ .../legacy/ironic-dsvm-standalone/run.yaml | 98 +++++++ .../legacy/tempest-dsvm-ironic-bfv/post.yaml | 15 ++ .../legacy/tempest-dsvm-ironic-bfv/run.yaml | 169 ++++++++++++ .../tempest-dsvm-ironic-inspector/post.yaml | 15 ++ .../tempest-dsvm-ironic-inspector/run.yaml | 195 ++++++++++++++ .../post.yaml | 15 ++ .../run.yaml | 157 +++++++++++ .../post.yaml | 15 ++ .../run.yaml | 157 +++++++++++ .../post.yaml | 15 ++ .../run.yaml | 182 +++++++++++++ .../post.yaml | 15 ++ .../run.yaml | 157 +++++++++++ .../post.yaml | 15 ++ .../run.yaml | 157 +++++++++++ .../post.yaml | 15 ++ .../run.yaml | 166 ++++++++++++ .../post.yaml | 15 ++ .../run.yaml | 183 +++++++++++++ .../post.yaml | 15 ++ .../run.yaml | 157 +++++++++++ .../post.yaml | 15 ++ .../run.yaml | 157 +++++++++++ .../post.yaml | 15 ++ .../run.yaml | 157 +++++++++++ .../post.yaml | 15 ++ .../run.yaml | 183 +++++++++++++ .../tempest-dsvm-ironic-parallel/post.yaml | 15 ++ .../tempest-dsvm-ironic-parallel/run.yaml | 55 ++++ .../post.yaml | 15 ++ .../tempest-dsvm-ironic-pxe_ipa-full/run.yaml | 156 +++++++++++ .../post.yaml | 15 ++ .../run.yaml | 175 ++++++++++++ zuul.d/legacy-ironic-jobs.yaml | 250 ++++++++++++++++++ zuul.d/project.yaml | 77 ++++++ 42 files changed, 3748 insertions(+) create mode 100644 playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/post.yaml create mode 100644 playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/run.yaml create mode 100644 playbooks/legacy/grenade-dsvm-ironic/post.yaml create mode 100644 playbooks/legacy/grenade-dsvm-ironic/run.yaml create mode 100644 playbooks/legacy/ironic-dsvm-functional/post.yaml create mode 100644 playbooks/legacy/ironic-dsvm-functional/run.yaml create mode 100644 playbooks/legacy/ironic-dsvm-standalone/post.yaml create mode 100644 playbooks/legacy/ironic-dsvm-standalone/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-bfv/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-bfv/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-inspector/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-inspector/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-multitenant-network/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-multitenant-network/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-parallel/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-parallel/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/run.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/post.yaml create mode 100644 playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/run.yaml create mode 100644 zuul.d/legacy-ironic-jobs.yaml create mode 100644 zuul.d/project.yaml 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 0000000000..e07f5510ae --- /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 0000000000..576a14194c --- /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 0000000000..e07f5510ae --- /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 0000000000..6ba64bd597 --- /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 0000000000..e07f5510ae --- /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 0000000000..737281d28a --- /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 0000000000..e07f5510ae --- /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 0000000000..bb5dc45996 --- /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 0000000000..e07f5510ae --- /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 0000000000..33d323d31b --- /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 0000000000..e07f5510ae --- /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 0000000000..ad31ebe380 --- /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 0000000000..e07f5510ae --- /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 0000000000..de348aefa5 --- /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 0000000000..e07f5510ae --- /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 0000000000..b7b11416c6 --- /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 0000000000..e07f5510ae --- /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 0000000000..3d17b1472c --- /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 0000000000..e07f5510ae --- /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 0000000000..a1f35af2ad --- /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 0000000000..e07f5510ae --- /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 0000000000..60c1582738 --- /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 0000000000..e07f5510ae --- /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 0000000000..64e97000a6 --- /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 0000000000..e07f5510ae --- /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 0000000000..4def3ef8cd --- /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 0000000000..e07f5510ae --- /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 0000000000..242459b5b5 --- /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 0000000000..e07f5510ae --- /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 0000000000..6784b7f57d --- /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 0000000000..e07f5510ae --- /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 0000000000..5f6b04d960 --- /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 0000000000..e07f5510ae --- /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 0000000000..18581e21b4 --- /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 0000000000..e07f5510ae --- /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 0000000000..14c04cc2c2 --- /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 0000000000..e07f5510ae --- /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 0000000000..ba8a9faeea --- /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 0000000000..e07f5510ae --- /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 0000000000..c590f39228 --- /dev/null +++ b/playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/run.yaml @@ -0,0 +1,175 @@ +- hosts: all + name: Autoconverted job legacy-tempest-dsvm-ironic-pxe_ipmitool-postgres from old + job gate-tempest-dsvm-ironic-pxe_ipmitool-postgres-ubuntu-xenial-nv + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + cat << 'EOF' >> ironic-extra-vars + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True" + # Standardize VM size for each supported ramdisk + case "tinyipa" in + 'tinyipa') + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa" + ;; + 'tinyipa256') + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa" + ;; + 'coreos') + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos" + ;; + # if using a ramdisk without a known good value, use the devstack + # default by not exporting any value for IRONIC_VM_SPECS_RAM + esac + + EOF + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + cat << 'EOF' >> ironic-extra-vars + export DEVSTACK_GATE_TEMPEST_REGEX="ironic" + + EOF + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + cat << 'EOF' >> ironic-extra-vars + export DEVSTACK_GATE_POSTGRES=1 + + EOF + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + cat << 'EOF' >> ironic-extra-vars + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_IPXE_ENABLED=False" + + EOF + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + cat << 'EOF' >> ironic-vars-early + # use tempest plugin + if [[ "$ZUUL_BRANCH" != "master" ]] ; then + # NOTE(jroll) if this is not a patch against master, then + # fetch master to install the plugin + export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'" + else + # on master, use the local change, so we can pick up any changes to the plugin + export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'" + fi + export TEMPEST_CONCURRENCY=1 + + EOF + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PROJECTS="openstack/ironic $PROJECTS" + export PROJECTS="openstack/ironic-lib $PROJECTS" + export PROJECTS="openstack/ironic-python-agent $PROJECTS" + export PROJECTS="openstack/python-ironicclient $PROJECTS" + export PROJECTS="openstack/pyghmi $PROJECTS" + export PROJECTS="openstack/virtualbmc $PROJECTS" + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_IRONIC=1 + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_VIRT_DRIVER=ironic + export DEVSTACK_GATE_CONFIGDRIVE=1 + export DEVSTACK_GATE_IRONIC_DRIVER=pxe_ipmitool + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + + if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then + export DEVSTACK_GATE_TLSPROXY=1 + fi + + if [ "pxe_ipmitool" == "pxe_snmp" ] ; then + # explicitly enable pxe_snmp driver + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp" + fi + + if [ "pxe_ipmitool" == "redfish" ] ; then + # When deploying with redfish we need to enable the "redfish" + # hardware type + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish" + fi + + if [ "partition" == "wholedisk" ] ; then + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0" + else + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1" + fi + + if [ -n "" ] ; then + export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1 + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False" + else + export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0 + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False" + fi + + if [ "bios" == "uefi" ] ; then + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi" + fi + + export DEVSTACK_PROJECT_FROM_GIT="" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=1" + + # Ensure the ironic-vars-EARLY file exists + touch ironic-vars-early + # Pull in the EARLY variables injected by the optional builders + source ironic-vars-early + + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic" + + # Ensure the ironic-EXTRA-vars file exists + touch ironic-extra-vars + # Pull in the EXTRA variables injected by the optional builders + source ironic-extra-vars + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/zuul.d/legacy-ironic-jobs.yaml b/zuul.d/legacy-ironic-jobs.yaml new file mode 100644 index 0000000000..545d211c12 --- /dev/null +++ b/zuul.d/legacy-ironic-jobs.yaml @@ -0,0 +1,250 @@ +- job: + name: legacy-ironic-dsvm-base + parent: legacy-dsvm-base + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^install-guide/.*$ + - ^ironic/locale/.*$ + - ^ironic/tests/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tools/.*$ + - ^tox.ini$ + required-projects: + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/pyghmi + - openstack/python-ironicclient + - openstack/tempest + - openstack/virtualbmc + +- job: + name: legacy-ironic-dsvm-base-multinode + parent: legacy-dsvm-base-multinode + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^install-guide/.*$ + - ^ironic/locale/.*$ + - ^ironic/tests/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tools/.*$ + - ^tox.ini$ + required-projects: + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/pyghmi + - openstack/python-ironicclient + - openstack/tempest + - openstack/virtualbmc + - openstack/networking-generic-switch + +- job: + name: ironic-tempest-dsvm-pxe_ipmitool-postgres + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/run + post-run: playbooks/legacy/tempest-dsvm-ironic-pxe_ipmitool-postgres/post + timeout: 10800 + +- job: + name: ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/run + post-run: playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa/post + timeout: 5400 + +- job: + name: ironic-tempest-dsvm-ipa-wholedisk-bios-pxe_ipmitool-tinyipa + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa/run + post-run: playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_ipmitool-tinyipa/post + timeout: 5400 + +- job: + name: ironic-tempest-dsvm-ipa-wholedisk-bios-pxe_snmp-tinyipa + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/run + post-run: playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-bios-pxe_snmp-tinyipa/post + timeout: 5400 + +- job: + name: ironic-tempest-dsvm-ipa-partition-bios-agent_ipmitool-tinyipa + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa/run + post-run: playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-agent_ipmitool-tinyipa/post + timeout: 5400 + +- job: + name: ironic-tempest-dsvm-ipa-partition-bios-pxe_ipmitool-tinyipa + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa/run + post-run: playbooks/legacy/tempest-dsvm-ironic-ipa-partition-bios-pxe_ipmitool-tinyipa/post + timeout: 5400 + +- job: + name: ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/run + post-run: playbooks/legacy/tempest-dsvm-ironic-ipa-partition-uefi-pxe_ipmitool-tinyipa/post + timeout: 5400 + +- job: + name: ironic-tempest-dsvm-ipa-partition-pxe_ipmitool-tinyipa-python3 + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/run + post-run: playbooks/legacy/tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3/post + timeout: 5400 + +- job: + name: ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode + parent: legacy-ironic-dsvm-base-multinode + run: playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/run + post-run: playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/post + timeout: 10800 + nodeset: legacy-ubuntu-xenial-2-node + +- job: + name: ironic-tempest-dsvm-ipa-partition-redfish-tinyipa + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/run + post-run: playbooks/legacy/tempest-dsvm-ironic-ipa-partition-redfish-tinyipa/post + timeout: 5400 + +- job: + name: ironic-tempest-dsvm-bfv + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-bfv/run + post-run: playbooks/legacy/tempest-dsvm-ironic-bfv/post + timeout: 9600 + +- job: + name: ironic-dsvm-standalone + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/ironic-dsvm-standalone/run + post-run: playbooks/legacy/ironic-dsvm-standalone/post + timeout: 10800 + required-projects: + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/python-ironicclient + +- job: + name: ironic-tempest-dsvm-ironic-inspector + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-inspector/run + post-run: playbooks/legacy/tempest-dsvm-ironic-inspector/post + timeout: 10800 + required-projects: + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/ironic-inspector + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/pyghmi + - openstack/python-ironic-inspector-client + - openstack/python-ironicclient + - openstack/tempest + - openstack/virtualbmc + +- job: + name: ironic-grenade-dsvm + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/grenade-dsvm-ironic/run + post-run: playbooks/legacy/grenade-dsvm-ironic/post + timeout: 10800 + required-projects: + - openstack-dev/grenade + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/pyghmi + - openstack/python-ironicclient + - openstack/virtualbmc + +- job: + name: ironic-grenade-dsvm-multinode-multitenant + parent: legacy-ironic-dsvm-base-multinode + run: playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/run + post-run: playbooks/legacy/grenade-dsvm-ironic-multinode-multitenant/post + timeout: 10800 + required-projects: + - openstack-dev/grenade + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/networking-generic-switch + - openstack/pyghmi + - openstack/python-ironicclient + - openstack/virtualbmc + nodeset: legacy-ubuntu-xenial-2-node + +- job: + name: ironic-tempest-dsvm-multitenant-network + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-multitenant-network/run + post-run: playbooks/legacy/tempest-dsvm-ironic-multitenant-network/post + timeout: 10800 + required-projects: + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/pyghmi + - openstack/python-ironicclient + - openstack/tempest + - openstack/virtualbmc + - openstack/networking-generic-switch + +- job: + name: ironic-dsvm-functional + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/ironic-dsvm-functional/run + post-run: playbooks/legacy/ironic-dsvm-functional/post + timeout: 4800 + required-projects: + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/ironic-python-agent + +- job: + name: ironic-tempest-dsvm-parallel + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-parallel/run + post-run: playbooks/legacy/tempest-dsvm-ironic-parallel/post + timeout: 10800 + required-projects: + - openstack-infra/devstack-gate + - openstack/ara + - openstack/ironic + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/python-ironicclient + - openstack/tempest + +- job: + name: ironic-tempest-dsvm-pxe_ipa-full + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/run + post-run: playbooks/legacy/tempest-dsvm-ironic-pxe_ipa-full/post + timeout: 9600 + +- job: + name: ironic-tempest-dsvm-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/run + post-run: playbooks/legacy/tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa/post + timeout: 5400 diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml new file mode 100644 index 0000000000..9a526552e8 --- /dev/null +++ b/zuul.d/project.yaml @@ -0,0 +1,77 @@ +- project: + name: openstack/ironic + check: + jobs: + - ironic-tempest-dsvm-pxe_ipmitool-postgres: + voting: false + - ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa + - ironic-tempest-dsvm-ipa-wholedisk-bios-pxe_ipmitool-tinyipa: + branches: ^stable/(newton|ocata).*$ + - ironic-tempest-dsvm-ipa-wholedisk-bios-pxe_snmp-tinyipa: + voting: false + branches: ^(?!stable/newton).*$ + - ironic-tempest-dsvm-ipa-partition-bios-agent_ipmitool-tinyipa: + branches: ^stable/(newton|ocata).*$ + - ironic-tempest-dsvm-ipa-partition-bios-pxe_ipmitool-tinyipa: + branches: ^stable/(newton|ocata).*$ + - ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa + - ironic-tempest-dsvm-ipa-partition-pxe_ipmitool-tinyipa-python3: + voting: false + branches: ^(?!stable/(newton|ocata)).*$ + - ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode: + branches: ^stable/(newton|ocata).*$ + voting: false + # NOTE(sambetts) multinode job is voting starting from Pike + - ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode: + branches: ^(?!stable/(newton|ocata)).*$ + - ironic-tempest-dsvm-ipa-partition-redfish-tinyipa: + branches: ^(?!stable/(newton|ocata)).*$ + - ironic-tempest-dsvm-bfv: + branches: ^(?!stable/(newton|ocata)).*$ + - ironic-dsvm-standalone: + branches: ^(?!stable/(newton|ocata)).*$ + - ironic-tempest-dsvm-ironic-inspector: + voting: false + - ironic-grenade-dsvm: + branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$ + - ironic-grenade-dsvm-multinode-multitenant: + branches: ^(?!stable/(newton|ocata)).*$ + - ironic-tempest-dsvm-multitenant-network: + branches: ^stable/(newton|ocata).*$ + gate: + queue: ironic + jobs: + - ironic-tempest-dsvm-ipa-partition-bios-pxe_ipmitool-tinyipa: + branches: ^stable/(newton|ocata).*$ + - ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa + - ironic-tempest-dsvm-ipa-partition-bios-agent_ipmitool-tinyipa: + branches: ^stable/(newton|ocata).*$ + - ironic-tempest-dsvm-ipa-wholedisk-bios-pxe_ipmitool-tinyipa: + branches: ^stable/(newton|ocata).*$ + - ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa: + branches: ^stable/(newton|ocata).*$ + - ironic-tempest-dsvm-ipa-partition-redfish-tinyipa: + branches: ^(?!stable/(newton|ocata)).*$ + - ironic-tempest-dsvm-bfv: + branches: ^(?!stable/(newton|ocata)).*$ + - ironic-dsvm-standalone: + branches: ^(?!stable/(newton|ocata)).*$ + - ironic-grenade-dsvm: + branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$ + - ironic-grenade-dsvm-multinode-multitenant: + branches: ^(?!stable/(newton|ocata)).*$ + - ironic-tempest-dsvm-multitenant-network: + branches: ^stable/(newton|ocata).*$ + # NOTE(sambetts) multinode job is voting starting from Pike + - ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode: + branches: ^(?!stable/(newton|ocata)).*$ + experimental: + jobs: + - ironic-dsvm-functional + - ironic-tempest-dsvm-parallel: + voting: false + branches: ^(?!stable) + - ironic-tempest-dsvm-pxe_ipa-full: + voting: false + - ironic-tempest-dsvm-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa: + voting: false