#!/usr/bin/env bash set -ex VENV=${1:-"dsvm-functional"} GATE_DEST=$BASE/new NEUTRON_PATH=$GATE_DEST/neutron GATE_HOOKS=$NEUTRON_PATH/neutron/tests/contrib/hooks DEVSTACK_PATH=$GATE_DEST/devstack LOCAL_CONF=$DEVSTACK_PATH/local.conf # Inject config from hook into localrc function load_rc_hook { local hook="$1" config=$(cat $GATE_HOOKS/$hook) export DEVSTACK_LOCAL_CONFIG+=" # generated from hook '$hook' ${config} " } # Inject config from hook into local.conf function load_conf_hook { local hook="$1" cat $GATE_HOOKS/$hook >> $LOCAL_CONF } case $VENV in "dsvm-functional"|"dsvm-fullstack") # The following need to be set before sourcing # configure_for_func_testing. GATE_STACK_USER=stack PROJECT_NAME=neutron IS_GATE=True source $DEVSTACK_PATH/functions source $NEUTRON_PATH/devstack/lib/ovs source $NEUTRON_PATH/tools/configure_for_func_testing.sh configure_host_for_func_testing if [[ "$VENV" =~ "dsvm-functional" ]]; then # The OVS_BRANCH variable is used by git checkout. In the case below # we use a commit on branch-2.5 that fixes compilation with the # latest ubuntu trusty kernel. OVS_BRANCH=8c0b419a0b9ac0141d6973dcc80306dfc6a83d31 remove_ovs_packages compile_ovs True /usr /var start_new_ovs fi # Make the workspace owned by the stack user sudo chown -R $STACK_USER:$STACK_USER $BASE ;; "api"|"api-pecan"|"full-pecan"|"dsvm-scenario") load_rc_hook api_extensions load_rc_hook qos if [[ "$VENV" =~ "pecan" ]]; then load_conf_hook pecan fi $BASE/new/devstack-gate/devstack-vm-gate.sh ;; *) echo "Unrecognized environment $VENV". exit 1 esac