project-config/jenkins/jobs/devstack-gate.yaml
Jay Faulkner b24315adce Introduce experimental job to test TinyIPA with less RAM
Running TinyIPA in 256mb of RAM would allow more parallelism, but we
want to ensure that it's sustainable. This would allow us to check to
see if a change would run or not in a 256mb VM.

Change-Id: I2831f32916808870df3b05e96364eb0f62d97d9b
Related-bug: 1581673
2016-07-05 08:07:21 -04:00

3396 lines
104 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-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-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}'