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 <