project-config/jenkins/jobs/neutron.yaml
Ihar Hrachyshka 3882171ffa neutron: fix extension_drivers setting for feature/qos
It turns out that devstack does not apply post-config sections from
localrc but local.conf only [1]. Since devstack-gate uses the former to
configure setup, the hook was not applied.

ml2 plugin for devstack actually allows to pass the desired extensions
thru Q_ML2_PLUGIN_EXT_DRIVERS= variable, so let's use it instead of
making devstack post-config hooks localrc-aware.

This is already the third patch we have to enable the extensions in
gate. Sigh.

[1]: http://git.openstack.org/cgit/openstack-dev/devstack/tree/stack.sh#n1152

Change-Id: I51f28b63400b6322baed7ac28715590c391ccebd
2015-07-28 08:03:01 +02:00

289 lines
9.9 KiB
YAML

- job-template:
name: '{pipeline}-neutron-dsvm-api{branch-designator}'
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_TIMEOUT=120
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
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
# For feature/qos branch, actually enable qos service plugin
if [[ "$BRANCH_OVERRIDE" =~ ^feature/qos$ ]] || [[ "$ZUUL_BRANCH" =~ ^feature/qos$ ]] ; then
# enable qos service plugin
export DEVSTACK_LOCAL_CONFIG="Q_SERVICE_PLUGIN_CLASSES=qos"
# also enable qos ml2 extension driver
# (port_security is enabled in default gate job)
export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_ML2_PLUGIN_EXT_DRIVERS=port_security,qos"
fi
function gate_hook {{
bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh api
}}
export -f gate_hook
function post_test_hook {{
bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh api
}}
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{branch-designator}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
# Start with the base set of services
ENABLED_SERVICES=mysql,rabbit,key,tempest,g-api,g-reg,
# Add Nova services (except for nova-network)
ENABLED_SERVICES+=n-api,n-cond,n-cpu,n-crt,n-obj,n-sch
# Enable Neutron
ENABLED_SERVICES+=q-svc,q-dhcp,q-meta,q-l3,q-agt
export ENABLED_SERVICES
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TIMEOUT=120
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
# For feature/qos branch, actually enable qos service plugin
if [[ "$BRANCH_OVERRIDE" =~ ^feature/qos$ ]] || [[ "$ZUUL_BRANCH" =~ ^feature/qos$ ]] ; then
# enable qos service plugin
export DEVSTACK_LOCAL_CONFIG="Q_SERVICE_PLUGIN_CLASSES=qos"
# also enable qos ml2 extension driver
# (port_security is enabled in default gate job)
export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_ML2_PLUGIN_EXT_DRIVERS=port_security,qos"
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}-neutron-dsvm-functional{branch-designator}'
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_UNSTACK=1
export DEVSTACK_GATE_TIMEOUT=120
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}
# Gate hooks previous to kilo will break if PROJECTS is overridden
if [[ ! "$BRANCH_OVERRIDE" == "stable/juno" ]] && [[ ! "$ZUUL_BRANCH" == "stable/juno" ]] ; then
export DEVSTACK_GATE_PROJECTS_OVERRIDE="openstack-dev/devstack openstack/neutron"
fi
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
function gate_hook {{
if [[ -e $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh ]]; then
bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh dsvm-functional
else
# Before kilo
bash -xe $BASE/new/neutron/neutron/tests/functional/contrib/gate_hook.sh
fi
}}
export -f gate_hook
function post_test_hook {{
if [[ -e $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh ]]; then
bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh dsvm-functional
else
# Before kilo
bash -xe $BASE/new/neutron/neutron/tests/functional/contrib/post_test_hook.sh
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:
- test-results
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-neutron-dsvm-fullstack{branch-designator}'
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_UNSTACK=1
export DEVSTACK_GATE_TIMEOUT=120
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-dsvm-functional{branch-designator}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 65
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TIMEOUT=60
export DEVSTACK_GATE_NEUTRON=1
export BRANCH_OVERRIDE={branch-override}
export DEVSTACK_PROJECT_FROM_GIT=python-neutronclient
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
function post_test_hook {{
# Configure and run functional tests
$BASE/new/python-neutronclient/neutronclient/tests/functional/hooks/post_test_hook.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:
- test-results
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-linuxbridge{branch-designator}'
node: '{node}'
wrappers:
- timeout:
timeout: 125
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
# Start with the base set of services
ENABLED_SERVICES=mysql,rabbit,key,tempest,g-api,g-reg,
# Add Nova services (except for nova-network)
ENABLED_SERVICES+=n-api,n-cond,n-cpu,n-crt,n-obj,n-sch
# Enable Neutron
ENABLED_SERVICES+=q-svc,q-dhcp,q-meta,q-l3,q-agt
export ENABLED_SERVICES
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TIMEOUT=120
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_LOCAL_CONFIG="Q_AGENT=linuxbridge"$'\n'"ENABLE_TENANT_VLANS=True"$'\n'"PHYSICAL_NETWORK=default"$'\n'"TENANT_VLAN_RANGE=100:200"$'\n'"LB_PHYSICAL_INTERFACE=eth0"$'\n'
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
# For feature/qos branch, actually enable qos service plugin
if [[ "$BRANCH_OVERRIDE" =~ ^feature/qos$ ]] || [[ "$ZUUL_BRANCH" =~ ^feature/qos$ ]] ; then
# enable qos service plugin
export DEVSTACK_LOCAL_CONFIG="Q_SERVICE_PLUGIN_CLASSES=qos"
# also enable qos ml2 extension driver
# (port_security is enabled in default gate job)
export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_ML2_PLUGIN_EXT_DRIVERS=port_security,qos"
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