From 53f34e39e358c07f56936472808763d1cff700cf Mon Sep 17 00:00:00 2001 From: Doug Wiegley Date: Sun, 21 Feb 2016 13:40:28 -0700 Subject: [PATCH] Expand gate hooks to allow for more than just octavia testing If we are going to continue to tweak the namespace driver, we should really be testing it. An experimental api job using it will be added to project-config as well. Change-Id: Ie0d8f1a2a4071d0ee38a1688253a04f3d7330acb --- neutron_lbaas/tests/contrib/decode_args.sh | 35 +++++++++++++++++++ neutron_lbaas/tests/contrib/gate_hook.sh | 34 +++++++++++++----- neutron_lbaas/tests/contrib/post_test_hook.sh | 11 ++++-- 3 files changed, 69 insertions(+), 11 deletions(-) create mode 100644 neutron_lbaas/tests/contrib/decode_args.sh diff --git a/neutron_lbaas/tests/contrib/decode_args.sh b/neutron_lbaas/tests/contrib/decode_args.sh new file mode 100644 index 000000000..20893cad7 --- /dev/null +++ b/neutron_lbaas/tests/contrib/decode_args.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# This file is meant to be sourced by the other hooks + +# Legacy values for $1 and $2: +# $1 - lbaasv2, lbaasv1 (lbaasversion) +# $2 - scenario, minimal, api, healthmonitor, listener, loadbalancer, member, pool (lbaastest) + +# Args being phased in: +# $1 - same +# $2 - test-driver, with any missing -driver being "octavia" +# scenario-octavia +# minimal-octavia +# api-namespace +# api-{thirdparty} +# healthmonitor-octavia +# listener-octavia +# loadbalancer-octavia +# member-octavia +# pool-octavia + + + +lbaasversion="$1" +lbaastest="$2" +lbaasenv=$(echo "$lbaastest" | perl -ne '/^(.*)-([^-]+)$/ && print "$1";') +if [ -z "$lbaasenv" ]; then + lbaasenv=$lbaastest +fi +lbaasdriver=$(echo "$lbaastest" | perl -ne '/^(.*)-([^-]+)$/ && print "$2";') +if [ -z "$lbaasdriver" ]; then + lbaasdriver='octavia' +fi + + diff --git a/neutron_lbaas/tests/contrib/gate_hook.sh b/neutron_lbaas/tests/contrib/gate_hook.sh index 6d708d22e..4732666ab 100755 --- a/neutron_lbaas/tests/contrib/gate_hook.sh +++ b/neutron_lbaas/tests/contrib/gate_hook.sh @@ -5,14 +5,17 @@ set -ex GATE_DEST=$BASE/new DEVSTACK_PATH=$GATE_DEST/devstack -testenv=${2:-"apiv2"} +# Sort out our gate args +. `dirname "$0"`/decode_args.sh -if [ "$1" = "lbaasv1" ]; then +testenv=${lbaastest:-"apiv2"} + +if [ "$lbaasversion" = "lbaasv1" ]; then testenv="apiv1" -elif [ "$1" = "lbaasv2" ]; then - if [ "$2" = "healthmonitor" ] || [ "$2" = "listener" ] || [ "$2" = "loadbalancer" ] || [ "$2" = "member" ] || [ "$2" = "minimal" ] || [ "$2" = "pool" ]; then +elif [ "$lbaasversion" = "lbaasv2" ]; then + if [ "$lbaasenv" = "healthmonitor" ] || [ "$lbaasenv" = "listener" ] || [ "$lbaasenv" = "loadbalancer" ] || [ "$lbaasenv" = "member" ] || [ "$lbaasenv" = "minimal" ] || [ "$lbaasenv" = "pool" ]; then testenv="apiv2" - elif [ "$2" = "scenario" ]; then + elif [ "$lbaasenv" = "scenario" ]; then testenv="scenario" fi fi @@ -20,8 +23,12 @@ fi export DEVSTACK_LOCAL_CONFIG+=" enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas enable_plugin barbican https://git.openstack.org/openstack/barbican +" +if [ "$lbaasdriver" = "octavia" ]; then + export DEVSTACK_LOCAL_CONFIG+=" enable_plugin octavia https://git.openstack.org/openstack/octavia " +fi if [ "$testenv" != "scenario" ]; then export DEVSTACK_LOCAL_CONFIG+=" @@ -42,11 +49,22 @@ if [ "$testenv" != "apiv1" ]; then # Override enabled services, so we can turn on lbaasv2. # While we're at it, disable cinder and swift, since we don't need them. ENABLED_SERVICES+=",q-lbaasv2,-q-lbaas" - ENABLED_SERVICES+=",octavia,o-cw,o-hk,o-hm,o-api" + if [ "$lbaasdriver" = "octavia" ]; then + ENABLED_SERVICES+=",octavia,o-cw,o-hk,o-hm,o-api" + fi + + if [ "$lbaasdriver" = "namespace" ]; then + cat > $DEVSTACK_PATH/local.conf < $DEVSTACK_PATH/local.conf < $DEVSTACK_PATH/local.conf <