- 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-{node}{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 DEVSTACK_GATE_TLSPROXY=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 # This job is used in testing neutron-lib master changes with # neutron tip of master, and it provides an early feedback that # lib development does not break neutron. This is a clone of # the previous job, that is meant to go away at some point. - job-template: name: '{pipeline}-tempest-dsvm-neutron-src-{name}-{node}{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-full-{node}{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_GATE_TLSPROXY=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-{node}{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 DEVSTACK_GATE_TLSPROXY=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-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-{node}{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 DEVSTACK_GATE_TLSPROXY=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-ubuntu-trusty{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_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 - 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-zeromq-multibackend{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-zmq $PROJECTS" export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-zmq git://git.openstack.org/openstack/devstack-plugin-zmq" export DEVSTACK_LOCAL_CONFIG+=$'\n'"CINDER_ENABLED_BACKENDS=lvm:lvmdriver-1,lvm:lvmdriver-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-neutron-identity-v3-only-full-{node}{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 DEVSTACK_GATE_TLSPROXY=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-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-{node}{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 # NOTE(mriedem): Be explicit that we need to run nova-network so that # devstack-gate doesn't default to use neutron. export DEVSTACK_GATE_NEUTRON=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}-{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 # NOTE(mriedem): Be explicit that we need to run nova-network so that # devstack-gate doesn't default to use neutron. export DEVSTACK_GATE_NEUTRON=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}-grenade-dsvm-neutron-{node}{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 # NOTE(mriedem): cells v2 should be the default after newton-eol export DEVSTACK_LOCAL_CONFIG="NOVA_CONFIGURE_CELLSV2=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}-grenade-dsvm-neutron-libs-{node}{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/os-client-config $PROJECTS" export PROJECTS="openstack/keystoneauth $PROJECTS" export PROJECTS="openstack/python-novaclient $PROJECTS" export PROJECTS="openstack/python-keystoneclient $PROJECTS" export PROJECTS="openstack/python-glanceclient $PROJECTS" export PROJECTS="openstack/python-cinderclient $PROJECTS" export PROJECTS="openstack/python-neutronclient $PROJECTS" export PROJECTS="openstack/python-ironicclient $PROJECTS" export DEVSTACK_LOCAL_CONFIG+=$'\n'"LIBS_FROM_GIT=os-client-config,keystoneauth,python-novaclient,python-keystoneclient,python-glanceclient,python-cinderclient,python-neutronclient,python-ironicclient" 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-{node-release}{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-cinder-multinode-{node-release}{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_CONFIGDRIVE=0 export DEVSTACK_GATE_GRENADE=pullup export PROJECTS="openstack-dev/grenade $PROJECTS" export BRANCH_OVERRIDE={branch-override} if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi export DEVSTACK_GATE_TOPOLOGY="multinode" export DEVSTACK_GATE_CINDER_MN_GRENADE=1 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-{node-release}{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-{node-release}{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' 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-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-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-{node}{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 # "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-{node-release}{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 DEVSTACK_GATE_TLSPROXY=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-{node-release}{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 # NOTE(mriedem): Be explicit that we need to run nova-network so that # devstack-gate doesn't default to use neutron. export DEVSTACK_GATE_NEUTRON=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-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 PROJECTS="openstack-dev/grenade $PROJECTS" export PYTHONUNBUFFERED=true export DEVSTACK_GATE_CONFIGDRIVE=0 export DEVSTACK_GATE_NEUTRON=1 export DEVSTACK_GATE_TEMPEST_NOTESTS=1 export DEVSTACK_GATE_GRENADE=pullup # By default grenade runs only smoke tests so we need to set # RUN_SMOKE to False in order to run live migration tests using # grenade export DEVSTACK_LOCAL_CONFIG="RUN_SMOKE=False" 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}-{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-{node-release}{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 export DEVSTACK_GATE_TLSPROXY=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-{node-release}{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-{node}{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}-{node}{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 - job-template: name: '{pipeline}-tempest-dsvm-lvm-multibackend{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_ENABLED_BACKENDS=lvm:lvmdriver-1,lvm:lvmdriver-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 # 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" export DEVSTACK_LOCAL_CONFIG+=$'\n'"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}-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 # use tempest plugin (copied from ironic.yaml) if [[ "$ZUUL_BRANCH" != "master" ]] ; then # 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/trove" 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/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_LOCAL_CONFIG+=$'\n'"ENABLE_FILE_INJECTION=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 "" tempest.txt.gz; then return 1 fi if ! grep -q "DEBUG |" 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 "" tempest.txt.gz; then return 1 fi if grep -q "DEBUG |" 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 - run-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-full-non-admin{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-full-test-accounts{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-identity-v3-only-full-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-oslo-latest-full{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-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-full-{node}{job-suffix}' # Temporary job group used so that we don't have to support node in # all jobs included in devstack-jobs right away. Once all do we can # go back to a single job group for all of the devstack jobs. # Jobs will get defined for gate queue. - job-group: name: devstack-jobs-xenial jobs: - '{pipeline}-grenade-dsvm-neutron-{node}{job-suffix}' - '{pipeline}-grenade-dsvm-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-full-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-full-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-pg-full-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-dvr-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-cells-{node}{job-suffix}' - '{pipeline}-devstack-dsvm-updown-{node}{job-suffix}' - job-group: name: devstack-jobs jobs: - '{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-{node}{job-suffix}' - '{pipeline}-grenade-dsvm-sahara{job-suffix}' - '{pipeline}-grenade-dsvm-trove{job-suffix}' - '{pipeline}-grenade-dsvm-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-cells-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-full-lio{job-suffix}' - '{pipeline}-tempest-dsvm-lvm-multibackend{job-suffix}' - '{pipeline}-tempest-dsvm-zeromq-multibackend{job-suffix}' - '{pipeline}-tempest-dsvm-full-test-accounts{job-suffix}' - '{pipeline}-tempest-dsvm-full-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-ironic-ipa-wholedisk-agent_ssh-tinyipa-src{job-suffix}' - '{pipeline}-tempest-dsvm-ironic-ipa-wholedisk-agent_ssh-tinyipa{job-suffix}' - '{pipeline}-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa{job-suffix}' - '{pipeline}-tempest-dsvm-ironic-ipa-partition-pxe_ssh-tinyipa-src{job-suffix}' - '{pipeline}-tempest-dsvm-ironic-ipa-partition-pxe_ssh-tinyipa{job-suffix}' - '{pipeline}-tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa{job-suffix}' - '{pipeline}-tempest-dsvm-ironic-pxe_ssh{job-suffix}' - '{pipeline}-tempest-dsvm-layer4{job-suffix}' - '{pipeline}-tempest-dsvm-lxc-ubuntu-trusty{job-suffix}' - '{pipeline}-tempest-dsvm-lvm{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-dvr-ovs-native{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-dvr-{node}{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-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-ovs-native{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-pg-full-{node}{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-scenario{job-suffix}' - '{pipeline}-tempest-dsvm-neutron-scenario-linuxbridge{job-suffix}' - '{pipeline}-tempest-dsvm-nova-v20-api{job-suffix}' - '{pipeline}-tempest-dsvm-nova-wsgi-full{job-suffix}' - '{pipeline}-tempest-dsvm-smoke-tlsproxy{job-suffix}' - '{pipeline}-tempest-dsvm-trove{job-suffix}'