project-config/jenkins/jobs/devstack-gate.yaml

3508 lines
107 KiB
YAML

- job-template:
name: 'gate-dg-hooks-dsvm'
node: '{node}'
wrappers:
- build-timeout:
timeout: 65
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
# place calls for all hooks in here
function pre_test_hook {{
echo "I'm totally an awesome pre_test_hook"
}}
export -f pre_test_hook
function gate_hook {{
echo "I'm totally an awesome gate_hook"
}}
export -f gate_hook
function post_test_hook {{
echo "I'm totally an awesome post_test_hook"
}}
export -f post_test_hook
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- print-node-uuid
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
# tempest-dsvm-full-head-{name} - run a devstack tempest job, but use
# the zuul git refs for projects-from-git (whitespace separated list)
# instead of the released library version(s).
#
# Purpose: this allows libraries to test their proposed commits to
# ensure they don't break OpenStack on their next release. It is
# expected to eventually be part of all library jobs in OpenStack, as
# the main tempest-dsvm jobs will be using only released versions of
# libraries.
- job-template:
name: '{pipeline}-tempest-dsvm-full-head-{name}{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
for prj in {projects-from-git}; do
# Worst-named variable ever. This is really
# LIBS_FROM_GIT (a comma-separated list).
export DEVSTACK_PROJECT_FROM_GIT="$prj,$DEVSTACK_PROJECT_FROM_GIT"
# Even if the branch is overridden, make sure we use
# the correct branch using the OVERRIDE_*_PROJECT_BRANCH
# variable.
uc_prj=$(echo $prj | tr a-z- A-Z_ | tr -cd A-Z_)
export OVERRIDE_${{uc_prj}}_PROJECT_BRANCH=$ZUUL_BRANCH
case "$prj" in
pbr)
export PROJECTS="openstack-dev/$prj $PROJECTS" ;;
*) export PROJECTS="openstack/$prj $PROJECTS" ;;
esac
done
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
# tempest-dsvm-neutron-src-{name} - run a devstack tempest job, but
# use the zuul git ref for name instead of the released library
# version. This uses neutron instead of nova-network.
#
# Purpose: this allows libraries to test their proposed commits to
# ensure they don't break OpenStack on their next release. It is
# expected to eventually be part of all library jobs in OpenStack, as
# the main tempest-dsvm jobs will be using only released versions of
# libraries.
#
# Expiration: once neutron replaces nova-network as the default, this
# can be removed.
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-src-{name}{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
REPOSITORY="openstack/{name}"
if [ "{name}" = "pbr" ]; then
REPOSITORY="openstack-dev/pbr"
fi
export PROJECTS="$REPOSITORY $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_NEUTRON=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_PROJECT_FROM_GIT={name}
# Even if the branch is overridden, make sure we use
# the correct branch using the OVERRIDE_*_PROJECT_BRANCH
# variable.
uc_project=`echo $DEVSTACK_PROJECT_FROM_GIT | tr [:lower:] [:upper:] | tr '-' '_' | sed 's/[^A-Z_]//'`
export "OVERRIDE_"$uc_project"_PROJECT_BRANCH"=$ZUUL_BRANCH
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-src-{name}{job-suffix}-plugin'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack/{name} $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_LOCAL_CONFIG="enable_plugin {project-repo} git://git.openstack.org/openstack/{project-repo}"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_PROJECT_FROM_GIT={name}
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-full-test-accounts{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_LOCAL_CONFIG="TEMPEST_USE_TEST_ACCOUNTS=True"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-full-test-accounts{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 190
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_LOCAL_CONFIG="TEMPEST_USE_TEST_ACCOUNTS=True"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-full-non-admin{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 190
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST_DISABLE_TENANT_ISOLATION=1
export DEVSTACK_LOCAL_CONFIG="TEMPEST_HAS_ADMIN=False"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_USE_TEST_ACCOUNTS=True"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_SMOKE_SERIAL=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_NEUTRON=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-pg-full{job-suffix}'
node: '{node}'
wrappers:
- timeout:
timeout: 180
fail: true
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_POSTGRES=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_CONFIGDRIVE=0
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-nova-v20-api{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_LOCAL_CONFIG="TEMPEST_COMPUTE_TYPE=compute_legacy"
# only run compute API tests
export DEVSTACK_GATE_TEMPEST_REGEX="api.*compute"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-nova-os-vif{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
# enable to use os-vif for Nova
export PROJECTS="openstack/os-vif $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"LIBS_FROM_GIT=os-vif"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
# dsvm-updown builds up an devstack and shuts it down, this ensures
# that things like unstack.sh and clean.sh work correctly. This should
# only be run on the devstack tree.
- job-template:
name: '{pipeline}-devstack-dsvm-updown{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 70
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_HEAT=1
export DEVSTACK_GATE_SAHARA=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
# ensure that the unstack.sh and clean.sh scripts run
# without errors, so that we can
function post_test_hook {{
cd /opt/stack/new/devstack
./gate/updown.sh
}}
export -f post_test_hook
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-nova-wsgi-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_LOCAL_CONFIG="NOVA_USE_MOD_WSGI=True"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-nova-libvirt-kvm-apr{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export PROJECTS="openstack/devstack-plugin-additional-pkg-repos $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-additional-pkg-repos git://git.openstack.org/openstack/devstack-plugin-additional-pkg-repos"
# We want to test the latest libvirt with kvm version with that plugin
# TODO: (markus_z) rename that in the apr repo to "libvirt-kvm"
# to make the chosen virtualization technology explicit.
export LATEST_CODEBASES=libvirt
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-lxc-f23{job-suffix}'
node: 'fedora-23'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_LOCAL_CONFIG="LIBVIRT_TYPE=lxc"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"NOVA_BACKEND=LVM"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_GATE_SETTINGS=/opt/stack/new/nova/devstack/tempest-dsvm-lxc-rc
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- builder:
# NOTE(adam_g): This is a temporary macro until we can define the Ironic d-s-g job in a
# standard, minimal fashion.
name: devstack-virtual-ironic
builders:
- shell: |
#!/bin/bash -xe
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_POSTGRES={postgres}
export DEVSTACK_GATE_IRONIC=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_VIRT_DRIVER=ironic
export DEVSTACK_GATE_IRONIC_DRIVER={deploy_driver}
export DEVSTACK_GATE_IRONIC_EPHEMERAL={ephemeral-size}
export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK={build-ramdisk}
export TEMPEST_CONCURRENCY=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_PROJECT_FROM_GIT=""
export IRONICCLIENT_FROM_SOURCE={client-from-source}
if [ "$IRONICCLIENT_FROM_SOURCE" == "1" ]; then
export DEVSTACK_PROJECT_FROM_GIT="python-ironicclient,$DEVSTACK_PROJECT_FROM_GIT"
fi
export IRONIC_LIB_FROM_SOURCE={ironic-lib-from-source}
if [ "$IRONIC_LIB_FROM_SOURCE" == "1" ]; then
export DEVSTACK_PROJECT_FROM_GIT="ironic-lib,$DEVSTACK_PROJECT_FROM_GIT"
fi
export PYGHMI_FROM_SOURCE={pyghmi-from-source}
if [ "$PYGHMI_FROM_SOURCE" == "1" ]; then
export DEVSTACK_PROJECT_FROM_GIT="pyghmi,$DEVSTACK_PROJECT_FROM_GIT"
fi
export VIRTUALBMC_FROM_SOURCE={virtualbmc-from-source}
if [ "$VIRTUALBMC_FROM_SOURCE" == "1" ]; then
export DEVSTACK_PROJECT_FROM_GIT="virtualbmc,$DEVSTACK_PROJECT_FROM_GIT"
fi
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT={bm-vm-count}"
if [ "{deploy-with-ipa}" == "1" ] ; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
# Support for non-CoreOS IPA ramdisks was added in Mitaka
if [ "$ZUUL_BRANCH" != "stable/kilo" -a "$ZUUL_BRANCH" != "stable/liberty" ] ; then
# Standardize VM size for each supported ramdisk
case "{ramdisk-type}" 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
else
# For kilo and liberty, we still need 1280mb of ram as
# we only have the CoreOS ramdisk.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
fi
fi
if [ "{ipxe-enabled}" == "1" ] ; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_IPXE_ENABLED=True"
elif [ "{ipxe-enabled}" == "0" ] ; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_IPXE_ENABLED=False"
fi
# use tempest plugin
if [[ "$ZUUL_BRANCH" != "master" ]] ; then
# NOTE(jroll) if this isn't 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
# Allow switching between full tempest and baremetal-only
if [ "{gate-tempest-full}" == "1" ] ; then
export DEVSTACK_GATE_TEMPEST_FULL=1
else
export DEVSTACK_GATE_TEMPEST_REGEX="{tempest-regex}"
fi
# devstack plugin didn't exist until mitaka
if [[ "$ZUUL_BRANCH" != "stable/kilo" && "$ZUUL_BRANCH" != "stable/liberty" ]] ; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
fi
export IRONIC_MULTITENANT_NETWORK={multitenant-network}
if [ "$IRONIC_MULTITENANT_NETWORK" == "1" ]; then
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'"Q_PLUGIN_EXTRA_CONF_PATH=/etc/neutron/plugins/ml2"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_PLUGIN_EXTRA_CONF_FILES['networking-generic-switch']=ml2_conf_genericswitch.ini"
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'"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_GATE_TEMPEST_REGEX=baremetal_multitenancy
fi
if [ "{inspector-enabled}" == "1" ] ; then
export PROJECTS="openstack/ironic-inspector $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic-inspector git://git.openstack.org/openstack/ironic-inspector"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic-inspector'"
export IRONIC_INSPECTOR_AUTO_DISCOVERY={inspector-auto-discovery}
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"
fi
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
- job-template:
name: '{pipeline}-grenade-dsvm-trove{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PROJECTS="openstack/trove-dashboard $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_GRENADE=pullup
export DEVSTACK_GATE_TROVE=1
export TEMPEST_CONCURRENCY=2
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ssh{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 1
deploy_driver: pxe_ssh
ephemeral-size: 1
deploy-with-ipa: 0
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 0
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'coreos'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipa-tinyipa-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 75
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 1
deploy_driver: pxe_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipa-tinyipa256-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 75
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 1
deploy_driver: pxe_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa256'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipa-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 160
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: pxe_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 1
bm-vm-count: 7
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipa-postgres{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 1
build-ramdisk: 0
deploy_driver: pxe_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-parallel{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
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 doesn't 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 TEMPEST_CONCURRENCY=2
export BRANCH_OVERRIDE={branch-override}
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
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipa{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: pxe_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipmitool{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: pxe_ipmitool
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipmitool-pyghmi-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: pxe_ipmitool
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 1
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'coreos'
gate-tempest-full: 0
bm-vm-ram: 1024
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipmitool-virtualbmc-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: pxe_ipmitool
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 1
virtualbmc-from-source: 1
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipa-coreos-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 1
deploy_driver: pxe_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'coreos'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-agent_ssh{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: agent_ssh
ephemeral-size: 0
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-agent_ssh-partition-image{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: agent_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-agent_ipmitool{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: agent_ipmitool
ephemeral-size: 0
deploy-with-ipa: 0
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-agent_ssh-tinyipa-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 1
deploy_driver: agent_ssh
ephemeral-size: 0
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-agent_ssh-partition-image-tinyipa-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 1
deploy_driver: agent_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-agent_ssh-coreos-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 1
deploy_driver: agent_ssh
ephemeral-size: 0
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'coreos'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-agent_ssh-partition-image-coreos-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 1
deploy_driver: agent_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'coreos'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipmitool-{ramdisk}-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 1
deploy_driver: pxe_ipmitool
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: '{ramdisk}'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-agent_ipmitool-{ramdisk}-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 1
deploy_driver: agent_ipmitool
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: '{ramdisk}'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-python-ironicclient-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: pxe_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 1
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-lib-src{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: pxe_ssh
ephemeral-size: 1
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 1
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-multitenant-network{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: agent_ssh
ephemeral-size: 0
deploy-with-ipa: 0
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 0
inspector-auto-discovery: 0
tempest-regex: ironic
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 3
multitenant-network: 1
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-inspector{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: agent_ssh
ephemeral-size: 0
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 1
inspector-auto-discovery: 0
tempest-regex: InspectorBasicTest
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-ironic-inspector-discovery{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- devstack-virtual-ironic:
postgres: 0
build-ramdisk: 0
deploy_driver: agent_ssh
ephemeral-size: 0
deploy-with-ipa: 1
client-from-source: 0
ironic-lib-from-source: 0
pyghmi-from-source: 0
virtualbmc-from-source: 0
ipxe-enabled: 1
inspector-enabled: 1
inspector-auto-discovery: 1
tempest-regex: InspectorDiscoveryTest
branch-override: '{branch-override}'
ramdisk-type: 'tinyipa'
gate-tempest-full: 0
bm-vm-count: 1
multitenant-network: 0
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-postgres-zeromq-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_POSTGRES=1
export DEVSTACK_GATE_MQ_DRIVER="zeromq"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-postgres-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_POSTGRES=1
export DEVSTACK_GATE_CONFIGDRIVE=0
export DEVSTACK_GATE_NOVA_API_METADATA_SPLIT=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-identity-v3-only-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_LOCAL_CONFIG="ENABLE_IDENTITY_V2=False"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SERVICE_DOMAIN_NAME=service"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-oslo-latest-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_NEUTRON=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export PROJECTS="openstack/oslo.cache $PROJECTS"
export PROJECTS="openstack/oslo.concurrency $PROJECTS"
export PROJECTS="openstack/oslo.config $PROJECTS"
export PROJECTS="openstack/oslo.context $PROJECTS"
export PROJECTS="openstack/oslo.db $PROJECTS"
export PROJECTS="openstack/oslo.i18n $PROJECTS"
export PROJECTS="openstack/oslo.log $PROJECTS"
export PROJECTS="openstack/oslo.messaging $PROJECTS"
export PROJECTS="openstack/oslo.middleware $PROJECTS"
export PROJECTS="openstack/oslo.policy $PROJECTS"
export PROJECTS="openstack/oslo.privsep $PROJECTS"
export PROJECTS="openstack/oslo.reports $PROJECTS"
export PROJECTS="openstack/oslo.rootwrap $PROJECTS"
export PROJECTS="openstack/oslo.serialization $PROJECTS"
export PROJECTS="openstack/oslo.service $PROJECTS"
export PROJECTS="openstack/oslo.utils $PROJECTS"
export PROJECTS="openstack/oslo.versionedobjects $PROJECTS"
export PROJECTS="openstack/oslo.vmware $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"LIBS_FROM_GIT=oslo.cache"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.concurrency"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.config"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.context"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.db"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.i18n"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.log"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.messaging"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.middleware"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.policy"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.privsep"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.reports"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.rootwrap"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.serialization"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.service"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.utils"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.versionedobjects"
export DEVSTACK_LOCAL_CONFIG+=$",oslo.vmware"
export DEVSTACK_LOCAL_CONFIG+=$'\n'""
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_GRENADE=pullup
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-{name}-src-grenade-dsvm{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade openstack/{name} $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_GRENADE=pullup
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_PROJECT_FROM_GIT={name}
# Even if the branch is overridden, make sure we use
# the correct branch using the OVERRIDE_*_PROJECT_BRANCH
# variable.
uc_project=`echo $DEVSTACK_PROJECT_FROM_GIT | tr [:lower:] [:upper:] | tr '-' '_' | sed 's/[^A-Z_]//'`
export "OVERRIDE_"$uc_project"_PROJECT_BRANCH"=$ZUUL_BRANCH
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-forward{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_GRENADE=forward
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-neutron{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_GRENADE=pullup
export DEVSTACK_GATE_NEUTRON=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-neutron-forward{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_GRENADE=forward
export DEVSTACK_GATE_NEUTRON=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-neutron-multinode{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_CONFIGDRIVE=0
export DEVSTACK_GATE_GRENADE=pullup
export PROJECTS="openstack-dev/grenade $PROJECTS"
# Default to non DVR
export DEVSTACK_GATE_NEUTRON_DVR=0
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_GATE_TOPOLOGY="multinode"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-neutron-dvr-multinode{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_CONFIGDRIVE=0
export DEVSTACK_GATE_GRENADE=pullup
# Test DVR upgrade on multinode
export PROJECTS="openstack-dev/grenade $PROJECTS"
export DEVSTACK_GATE_NEUTRON_DVR=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_GATE_TOPOLOGY="multinode"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-neutron-linuxbridge-multinode{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_CONFIGDRIVE=0
export DEVSTACK_GATE_GRENADE=pullup
export PROJECTS="openstack-dev/grenade $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="Q_AGENT=linuxbridge"$'\n'"PHYSICAL_NETWORK=default"$'\n'"LB_PHYSICAL_INTERFACE=eth0"$'\n'
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_GATE_TOPOLOGY="multinode"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-ironic{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
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-dev/grenade $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_GRENADE=pullup
export DEVSTACK_GATE_IRONIC=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_VIRT_DRIVER=ironic
export TEMPEST_CONCURRENCY=1
export DEVSTACK_GATE_OS_TEST_TIMEOUT=2400
export DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT=1200
export DEVSTACK_LOCAL_CONFIG="IRONIC_VM_SPECS_RAM=384"$'\n'"IRONIC_VM_COUNT=7"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
# Make IPXE configuration consistent between Mitaka and Master
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_IPXE_ENABLED=True"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export GRENADE_PLUGINRC="enable_grenade_plugin ironic https://git.openstack.org/openstack/ironic"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-ironic-inspector{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
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/ironic-inspector $PROJECTS"
export PROJECTS="openstack/python-ironic-inspector-client $PROJECTS"
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_GRENADE=pullup
export DEVSTACK_GATE_IRONIC=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_VIRT_DRIVER=ironic
export TEMPEST_CONCURRENCY=1
export DEVSTACK_GATE_OS_TEST_TIMEOUT=2400
export DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT=1200
export DEVSTACK_LOCAL_CONFIG="IRONIC_VM_SPECS_RAM=384"$'\n'"IRONIC_VM_COUNT=7"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
# 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"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export GRENADE_PLUGINRC+=$'\n'"enable_grenade_plugin ironic https://git.openstack.org/openstack/ironic"
export GRENADE_PLUGINRC+=$'\n'"enable_grenade_plugin ironic-inspector https://git.openstack.org/openstack/ironic-inspector"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-ceilometer{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_GRENADE=pullup
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export GRENADE_PLUGINRC="enable_grenade_plugin ceilometer https://git.openstack.org/openstack/ceilometer"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-all{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_ALL=1
export DEVSTACK_GATE_NEUTRON=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-stress{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST_STRESS=1
export DEVSTACK_GATE_TEMPEST_STRESS_ARGS="-d 3600 -S -s -t tempest/stress/etc/stress-tox-job.json"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-keystone-eventlet-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_LOCAL_CONFIG="KEYSTONE_DEPLOY=eventlet"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-keystone-uwsgi-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_LOCAL_CONFIG="KEYSTONE_DEPLOY=uwsgi"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-stress-keystonev3{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST_STRESS=1
export DEVSTACK_GATE_TEMPEST_STRESS_ARGS="-d 3600 -S -s -t tempest/stress/etc/stress-tox-job.json"
export DEVSTACK_LOCAL_CONFIG="TEMPEST_AUTH_VERSION=v3"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
# "platform" test -- run on an alternative node
- job-template:
name: '{pipeline}-tempest-dsvm-platform-{name}{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_NEUTRON={neutron}
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-multinode-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_CONFIGDRIVE=0
export DEVSTACK_GATE_TEMPEST_FULL=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_GATE_TOPOLOGY="multinode"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-multinode-live-migration{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_CONFIGDRIVE=0
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
export BRANCH_OVERRIDE={branch-override}
export DEVSTACK_GATE_TOPOLOGY="multinode"
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
function post_test_hook {{
/opt/stack/new/nova/nova/tests/live_migration/hooks/run_tests.sh
}}
export -f post_test_hook
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-multinode{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_GRENADE=pullup
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_GATE_TOPOLOGY="multinode"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-{name}-src-grenade-dsvm-multinode{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade openstack/{name} $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_GRENADE=pullup
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_GATE_TOPOLOGY="multinode"
export DEVSTACK_PROJECT_FROM_GIT={name}
# Even if the branch is overridden, make sure we use
# the correct branch using the OVERRIDE_*_PROJECT_BRANCH
# variable.
uc_project=`echo $DEVSTACK_PROJECT_FROM_GIT | tr [:lower:] [:upper:] | tr '-' '_' | sed 's/[^A-Z_]//'`
export "OVERRIDE_"$uc_project"_PROJECT_BRANCH"=$ZUUL_BRANCH
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-multinode-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_CONFIGDRIVE=0
export DEVSTACK_GATE_TEMPEST_FULL=1
# Default to non DVR
export DEVSTACK_GATE_NEUTRON_DVR=0
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_GATE_TOPOLOGY="multinode"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-dvr-multinode-full{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_CONFIGDRIVE=0
export DEVSTACK_GATE_TEMPEST_FULL=1
# Test DVR works multinode
export DEVSTACK_GATE_NEUTRON_DVR=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_GATE_TOPOLOGY="multinode"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-full-devstack-plugin-ceph{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export PROJECTS="{plugin-repo} $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-{plugin} git://git.openstack.org/{plugin-repo}"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-full-ceph-plugin-src-{name}{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export PROJECTS="{plugin-repo} $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-{plugin} git://git.openstack.org/{plugin-repo}"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_PROJECT_FROM_GIT={name}
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-full-devstack-plugin-nfs{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export PROJECTS="{plugin-repo} $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-{plugin} git://git.openstack.org/{plugin-repo}"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_NFS_CINDER=True"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-full-lio{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_LOCAL_CONFIG="CINDER_ISCSI_HELPER=lioadm"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"CINDER_LVM_TYPE=thin"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
# tempest-dsvm-full-lio-src-{name} - run a devstack LVM/LIO tempest job,
# but use the zuul git ref for name instead of the released library
# version.
- job-template:
name: '{pipeline}-tempest-dsvm-full-lio-src-{name}{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack/{name} $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_LOCAL_CONFIG="CINDER_ISCSI_HELPER=lioadm"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"CINDER_LVM_TYPE=thin"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_PROJECT_FROM_GIT={name}
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
# {pipeline}-tempest-dsvm-full-{plugin}-src-{srcname}{job-suffix} - run a devstack
# plugin tempest job, but use the zuul git ref for srcname instead of the
# released library version.
- job-template:
name: '{pipeline}-tempest-dsvm-full-{plugin}-src-{srcname}{job-suffix}'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export PROJECTS="{plugin-repo} $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-{plugin} git://git.openstack.org/{plugin-repo}"
export DEVSTACK_PROJECT_FROM_GIT={srcname}
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
# A template for any project with a devstack-plugin to run the full
# tempest suite with their project/plugin enabled.
- job-template:
name: '{pipeline}-tempest-dsvm-full-{plugin}{job-suffix}'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export PROJECTS="{plugin-repo} $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-{plugin} git://git.openstack.org/{plugin-repo}"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
# A Template to to run a oslo.messaging devstack-plugin with oslo.messaging
# code picked up from source
- job-template:
name: '{pipeline}-oslo.messaging-src-dsvm-full-{plugin}{ostype}{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export PROJECTS="{plugin-repo} openstack/oslo.messaging $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-{plugin} git://git.openstack.org/{plugin-repo}"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"LIBS_FROM_GIT=oslo.messaging"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
# A template for the misnamed drbd-devstack project.
# Runs the full tempest suite.
- job-template:
name: '{pipeline}-tempest-dsvm-full-drbd-devstack{job-suffix}'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- contact:
name: Philipp Marek
email: philipp.marek@linbit.com
irc: flip214
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export PROJECTS="openstack/drbd-devstack $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin drbd-devstack git://git.openstack.org/openstack/drbd-devstack
enable_service drbd-devstack
CINDER_ENABLED_BACKENDS=drbd:drbdmanage"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-cinder-tempest-dsvm-glusterfs{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export PROJECTS="openstack/devstack-plugin-glusterfs $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-glusterfs git://git.openstack.org/stackforge/devstack-plugin-glusterfs"
# Configure devstack-plugin-glusterfs to enable GlusterFS as a backend for Glance, Nova and Cinder.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"CONFIGURE_GLUSTERFS_GLANCE=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"CONFIGURE_GLUSTERFS_NOVA=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"CONFIGURE_GLUSTERFS_CINDER=True"
# Below regex exclude the slow tag.
r="^(?!(.*\[.*slow.*\])).*$"
export DEVSTACK_GATE_TEMPEST_REGEX="$r"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-full-bdd{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- contact:
name: Ivan Kolodyazhny
email: e0ne@e0ne.info
irc: e0ne
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
# BDD driver doesn't support 'in-use' volume attachement so we need to skip such tests
export DEVSTACK_GATE_TEMPEST_REGEX="^(?!.*(volume_in_use|test_volume_boot_pattern)).*volume"
export TEMPEST_CONCURRENCY=1
export PROJECTS="openstack/devstack-plugin-bdd $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-bdd git://git.openstack.org/openstack/devstack-plugin-bdd"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
# run the tests for all the layer4 services together. This means we know they all work.
- job-template:
name: '{pipeline}-tempest-dsvm-layer4{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
#
# tests heat, sahara, trove in a single job.
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_HEAT=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST_REGEX="data_processing|orchestration"
export DEVSTACK_LOCAL_CONFIG="TEMPEST_USE_TEST_ACCOUNTS=True"
DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin sahara git://git.openstack.org/openstack/sahara"
export DEVSTACK_LOCAL_CONFIG
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-trove{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_REGEX="database"
if [[ "stable/kilo" =~ $ZUUL_BRANCH ]]; then
# Trove was moved out of DevStack as plugin after Kilo
export DEVSTACK_GATE_TROVE=1
else
export DEVSTACK_LOCAL_CONFIG="enable_plugin trove git://git.openstack.org/openstack/trove"
fi
export PROJECTS="openstack/trove-dashboard $PROJECTS"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-full-ssh{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_LOCAL_CONFIG="TEMPEST_RUN_VALIDATION=True"
export DEVSTACK_GATE_NEUTRON=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-smoke-tlsproxy{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- print-node-uuid
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TLSPROXY=1
export DEVSTACK_LOCAL_CONFIG="KEYSTONE_DEPLOY=mod_wsgi"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- job-template:
name: 'gate-dsvm-os-loganalyze{job-suffix}'
node: 'ubuntu-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export ENABLED_SERVICES=os-loganalyze
export PROJECTS="openstack-infra/os-loganalyze $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-os-loganalyze git://git.openstack.org/openstack-infra/os-loganalyze"
function post_test_hook {{
# Copy the tempest output to os-loganalze's DocumentRoot
sudo cp -r logs/* /var/www/logs/
# Grab normally marked up file
wget --header="Accept: text/html" http://localhost:8080/tempest.txt.gz
# Check display level options are available
if ! grep -q "<span id='selector'>" tempest.txt.gz; then
return 1
fi
if ! grep -q "<a href='?level=DEBUG'>DEBUG</a> |" tempest.txt.gz; then
return 1
fi
# Check when fetching as plain, options are missing
wget http://localhost:8080/tempest.txt.gz
if grep -q "<span id='selector'>" tempest.txt.gz; then
return 1
fi
if grep -q "<a href='?level=DEBUG'>DEBUG</a> |" tempest.txt.gz; then
return 1
fi
}}
export -f post_test_hook
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job:
name: gate-devstack-gate-unittests
node: ubuntu-trusty
builders:
- gerrit-git-prep
- install-distro-packages
- revoke-sudo
- tox:
envlist: run-tests
publishers:
- console-log
- job-group:
name: devstack-gate-jobs
jobs:
- 'gate-dg-tempest-dsvm-full'
- 'gate-dg-tempest-dsvm-full-reexec'
- 'gate-dg-hooks-dsvm'
# Jobs will get defined for master branch in the periodic pipeline.
- job-group:
name: devstack-periodic-master-jobs
jobs:
- '{pipeline}-tempest-dsvm-all{job-suffix}'
- '{pipeline}-tempest-dsvm-full-test-accounts{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-dvr-ovs-native{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-full-non-admin{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-full-test-accounts{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-identity-v3-only-full{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-ovs-native{job-suffix}'
- '{pipeline}-tempest-dsvm-oslo-latest-full{job-suffix}'
- '{pipeline}-tempest-dsvm-stress{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-full-ssh{job-suffix}'
# Jobs will get defined for stable branches in the periodic pipeline, and
# for stable branches gate jobs.
- job-group:
name: devstack-stable-jobs
jobs:
- '{pipeline}-tempest-dsvm-full{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-full{job-suffix}'
- '{pipeline}-tempest-dsvm-postgres-full{job-suffix}'
# Jobs will get defined for gate queue.
- job-group:
name: devstack-jobs
jobs:
- '{pipeline}-devstack-dsvm-updown{job-suffix}'
- '{pipeline}-grenade-dsvm-ceilometer{job-suffix}'
- '{pipeline}-grenade-dsvm-forward{job-suffix}'
- '{pipeline}-grenade-dsvm-ironic{job-suffix}'
- '{pipeline}-grenade-dsvm-neutron-forward{job-suffix}'
- '{pipeline}-grenade-dsvm-neutron{job-suffix}'
- '{pipeline}-grenade-dsvm-sahara{job-suffix}'
- '{pipeline}-grenade-dsvm-trove{job-suffix}'
- '{pipeline}-grenade-dsvm{job-suffix}'
- '{pipeline}-tempest-dsvm-cells{job-suffix}'
- '{pipeline}-tempest-dsvm-full-lio{job-suffix}'
- '{pipeline}-tempest-dsvm-full-test-accounts{job-suffix}'
- '{pipeline}-tempest-dsvm-full{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-agent_ssh-src{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-agent_ssh{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-agent_ipmitool{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-parallel{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-pxe_ipa-src{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-pxe_ipa-tinyipa{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-pxe_ipa{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-pxe_ipa-postgres{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-pxe_ipmitool{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-pxe_ipmitool-pyghmi-src{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-pxe_ssh{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-inspector{job-suffix}'
- '{pipeline}-tempest-dsvm-ironic-inspector-discovery{job-suffix}'
- '{pipeline}-tempest-dsvm-layer4{job-suffix}'
- '{pipeline}-tempest-dsvm-lxc-f23{job-suffix}'
- '{pipeline}-tempest-dsvm-lvm{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-dvr-ovs-native{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-dvr{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-full-non-admin{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-full-ssh{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-full-test-accounts{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-full{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-identity-v3-only-full{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-ovs-native{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-pg-full{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron-scenario{job-suffix}'
- '{pipeline}-tempest-dsvm-neutron{job-suffix}'
- '{pipeline}-tempest-dsvm-nova-v20-api{job-suffix}'
- '{pipeline}-tempest-dsvm-nova-wsgi-full{job-suffix}'
- '{pipeline}-tempest-dsvm-postgres-full{job-suffix}'
- '{pipeline}-tempest-dsvm-smoke-tlsproxy{job-suffix}'
- '{pipeline}-tempest-dsvm-stress-keystonev3{job-suffix}'
- '{pipeline}-tempest-dsvm-trove{job-suffix}'