- job-template: name: 'periodic-{name}-{python}-with-neutron-lib-master' node: ubuntu-xenial wrappers: - build-timeout: timeout: 50 - timestamps builders: - print-template-name: template-name: "{template-name}" - zuul-git-branch-prep-upper-constraints: branch: master - install-distro-packages - mysql-prep - pgsql-prep - mysql-db: db_name: openstack_citest - pgsql-db: db_name: openstack_citest - revoke-sudo - shell: "/usr/local/jenkins/slave_scripts/run-tox-with-neutron-lib-master.sh {python}" - assert-no-extra-files publishers: - test-results - console-log - job-template: name: '{pipeline}-neutron-dsvm-api{which}-{node}{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_NEUTRON=1 export DEVSTACK_GATE_EXERCISES=0 export BRANCH_OVERRIDE={branch-override} if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi # NOTE(armax): this condition should be revised every time each of the # branches below are dropped. Prior to Newton, the API Tempest tests are # invoked explicitly and thus we need the following variables set. From # Newton onward, everything is taken care of by the Tempest plugin framework if [ "$ZUUL_BRANCH" == "stable/liberty" -o "$ZUUL_BRANCH" == "stable/mitaka" ] ; then export DEVSTACK_GATE_TEMPEST_NOTESTS=1 export DEVSTACK_GATE_INSTALL_TESTONLY=1 else export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 export DEVSTACK_GATE_TEMPEST_REGEX="^neutron.tests.tempest.api\." fi function gate_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh api{which} }} export -f gate_hook function post_test_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh api{which} }} 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: - test-results - devstack-logs - console-log - job-template: name: '{pipeline}-tempest-dsvm-neutron-dvr-{node}{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_NEUTRON=1 export DEVSTACK_GATE_TEMPEST_FULL=1 export DEVSTACK_GATE_NEUTRON_DVR=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 # TODO(armax): drop this job after all branches in the gate are tested # with the native configuration. This will happen when stable/mitaka is # dropped - job-template: name: '{pipeline}-tempest-dsvm-neutron-dvr-ovs-native{job-suffix}' node: '{node}' wrappers: - build-timeout: timeout: 130 - timestamps builders: - 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_FULL=1 export DEVSTACK_GATE_NEUTRON_DVR=1 export BRANCH_OVERRIDE={branch-override} if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi # Add configrations for ovs native interface in local.conf function pre_test_hook {{ local localconf=$BASE/new/devstack/local.conf echo "[[post-config|/\$Q_PLUGIN_CONF_FILE]]" >> $localconf echo "[ovs]" >> $localconf echo "of_interface=native" >> $localconf echo "ovsdb_interface=native" >> $localconf }} export -f pre_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}-neutron-dsvm-functional{python}-{node}{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_UNSTACK=1 export DEVSTACK_GATE_TEMPEST=0 export DEVSTACK_GATE_EXERCISES=0 export DEVSTACK_GATE_NEUTRON=1 export DEVSTACK_GATE_INSTALL_TESTONLY=1 export BRANCH_OVERRIDE={branch-override} export DEVSTACK_GATE_PROJECTS_OVERRIDE="openstack-dev/devstack openstack/neutron" if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi function gate_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh dsvm-functional }} export -f gate_hook function post_test_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh dsvm-functional{python} }} 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: - test-results - devstack-logs - console-log - job-template: name: '{pipeline}-neutron-dsvm-fullstack-{node}{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_UNSTACK=1 export DEVSTACK_GATE_TEMPEST=0 export DEVSTACK_GATE_EXERCISES=0 export DEVSTACK_GATE_NEUTRON=1 export DEVSTACK_GATE_INSTALL_TESTONLY=1 export BRANCH_OVERRIDE={branch-override} if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi function gate_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh dsvm-fullstack }} export -f gate_hook function post_test_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh dsvm-fullstack }} 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: - test-results - devstack-logs - console-log - job-template: name: '{pipeline}-neutronclient-test-dsvm-{which-test}{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_NEUTRON=1 export BRANCH_OVERRIDE={branch-override} export PROJECTS="openstack/python-neutronclient $PROJECTS" export DEVSTACK_PROJECT_FROM_GIT=python-neutronclient if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi function gate_hook {{ bash -xe $BASE/new/python-neutronclient/neutronclient/tests/functional/hooks/gate_hook.sh {which-test} }} export -f gate_hook function post_test_hook {{ # Configure and run functional tests $BASE/new/python-neutronclient/neutronclient/tests/functional/hooks/post_test_hook.sh {which-test} }} 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: - test-results - devstack-logs - console-log - job-template: name: '{pipeline}-tempest-dsvm-neutron-ipv6only{job-suffix}' node: '{node}' wrappers: - 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 export DEVSTACK_GATE_NEUTRON=1 export DEVSTACK_LOCAL_CONFIG="IP_VERSION=6"$'\n'"SERVICE_IP_VERSION=6" 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-serviceipv6{job-suffix}' node: '{node}' wrappers: - 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 export DEVSTACK_GATE_NEUTRON=1 export DEVSTACK_LOCAL_CONFIG="SERVICE_IP_VERSION=6" 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 # TODO(armax): drop this job after all branches in the gate are tested # with the native configuration. This will happen when stable/mitaka is # dropped - job-template: name: '{pipeline}-tempest-dsvm-neutron-ovs-native{job-suffix}' node: '{node}' wrappers: - build-timeout: timeout: 130 - 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 DEVSTACK_GATE_NEUTRON=1 export BRANCH_OVERRIDE={branch-override} if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi # Add configrations for ovs native interface in local.conf function pre_test_hook {{ local localconf=$BASE/new/devstack/local.conf echo "[[post-config|/\$Q_PLUGIN_CONF_FILE]]" >> $localconf echo "[ovs]" >> $localconf echo "of_interface=native" >> $localconf echo "ovsdb_interface=native" >> $localconf }} export -f pre_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-neutron-linuxbridge-{node}{job-suffix}' node: '{node}' wrappers: - 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 export DEVSTACK_GATE_NEUTRON=1 export DEVSTACK_GATE_TLSPROXY=1 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 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-scenario-linuxbridge{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_NEUTRON=1 export DEVSTACK_GATE_EXERCISES=0 export BRANCH_OVERRIDE={branch-override} export DEVSTACK_LOCAL_CONFIG="Q_AGENT=linuxbridge"$'\n'"PHYSICAL_NETWORK=default"$'\n' if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 export DEVSTACK_GATE_TEMPEST_REGEX="^neutron.tests.tempest.scenario\." function gate_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh dsvm-scenario }} export -f gate_hook function post_test_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh dsvm-scenario }} 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: - test-results - devstack-logs - console-log - job-template: name: '{pipeline}-tempest-dsvm-neutron-{which}{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 export DEVSTACK_GATE_NEUTRON=1 export BRANCH_OVERRIDE={branch-override} if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi function gate_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh full-{which} }} export -f gate_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 # run tempest with: # 1) neutron enabled # 2) oslo.messaging from git # 3) specific oslo.messaging driver enabled - job-template: name: 'gate-tempest-neutron-dsvm-src-oslo.messaging-{plugin}{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 export DEVSTACK_GATE_NEUTRON=1 export PROJECTS="openstack/devstack-plugin-{plugin} $PROJECTS" export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-{plugin} git://git.openstack.org/openstack/devstack-plugin-{plugin}" export DEVSTACK_PROJECT_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 - job-template: name: '{pipeline}-tempest-dsvm-neutron-scenario{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_NEUTRON=1 export DEVSTACK_GATE_EXERCISES=0 export BRANCH_OVERRIDE={branch-override} if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 export DEVSTACK_GATE_TEMPEST_REGEX="^neutron.tests.tempest.scenario\." function gate_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh dsvm-scenario }} export -f gate_hook function post_test_hook {{ bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh dsvm-scenario }} 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: - test-results - devstack-logs - console-log - job-template: name: '{pipeline}-tempest-dsvm-neutron-dvr-multinode-scenario-{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_ALL_PLUGINS=1 export DEVSTACK_GATE_TEMPEST_REGEX="^neutron\.tests\.tempest\.scenario\." # 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