904f44522b
Seems that by default we now run cleaning on all jobs. However, this is extremely wasteful and time consuming. Also, if a cloud is IO resource constrained, it can result in jobs failing erroneously due to unpredictable IO performance, particularly with the multinode jobs. As such, slightly extend the wait timeout before we fail for nodes not being ready, and flag multinode jobs not to run cleaning. Change-Id: I12011743fa197caef08a3d6d1297d662dfa7640a
212 lines
8.9 KiB
YAML
212 lines
8.9 KiB
YAML
- 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"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_AUTOMATED_CLEAN_ENABLED=False"
|
|
|
|
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
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic-tempest-plugin'"
|
|
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/ironic-tempest-plugin $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="{{ branch_override | default('default') }}"
|
|
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
fi
|
|
|
|
if [[ "$ZUUL_BRANCH" != "stable/ocata" && "$BRANCH_OVERRIDE" != "stable/ocata" ]]; 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 }}'
|