Merge "Convert gate_hook to devstack-tools"

This commit is contained in:
Jenkins 2017-03-03 21:27:14 +00:00 committed by Gerrit Code Review
commit 807bea9f67
1 changed files with 20 additions and 21 deletions

View File

@ -9,41 +9,42 @@ 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
LOCAL_CONF=$DEVSTACK_PATH/late-local.conf
RALLY_EXTRA_DIR=$NEUTRON_PATH/rally-jobs/extra
DSCONF=/tmp/devstack-tools/bin/dsconf
# Install devstack-tools used to produce local.conf; we can't rely on
# test-requirements.txt because the gate hook is triggered before neutron is
# installed
sudo -H pip install virtualenv
virtualenv /tmp/devstack-tools
/tmp/devstack-tools/bin/pip install -U devstack-tools==0.4.0
# Inject config from hook into localrc
function load_rc_hook {
local hook="$1"
local tmpfile
local config
tmpfile=$(tempfile)
config=$(cat $GATE_HOOKS/$hook)
export DEVSTACK_LOCAL_CONFIG+="
# generated from hook '$hook'
[[local|localrc]]
${config}
"
echo "[[local|localrc]]" > $tmpfile
$DSCONF setlc_raw $tmpfile "$config"
$DSCONF merge_lc $LOCAL_CONF $tmpfile
rm -f $tmpfile
}
# Inject config from hook into local.conf
function load_conf_hook {
local hook="$1"
config=$(cat $GATE_HOOKS/$hook)
export DEVSTACK_LOCAL_CONFIG+="
# generated from hook '$hook'
${config}
"
$DSCONF merge_lc $LOCAL_CONF $GATE_HOOKS/$hook
}
# Tweak gate configuration for our rally scenarios
function load_rc_for_rally {
for file in $(ls $RALLY_EXTRA_DIR/*.setup); do
config=$(cat $file)
export DEVSTACK_LOCAL_CONFIG+="
# generated from hook '$file'
${config}
"
$DSCONF merge_lc $LOCAL_CONF $file
done
}
@ -55,6 +56,7 @@ case $VENV in
GATE_STACK_USER=stack
PROJECT_NAME=neutron
IS_GATE=True
LOCAL_CONF=$DEVSTACK_PATH/local.conf
source $DEVSTACK_PATH/functions
source $NEUTRON_PATH/devstack/lib/ovs
@ -75,11 +77,6 @@ case $VENV in
# enable monitoring
load_rc_hook dstat
# Since we don't use devstack-gate to deploy devstack services, we need to
# dump DEVSTACK_LOCAL_CONFIG into local.conf ourselves. Note that we should
# dump the file before changing the ownership
echo "$DEVSTACK_LOCAL_CONFIG" > $LOCAL_CONF
# Make the workspace owned by the stack user
sudo chown -R $STACK_USER:$STACK_USER $BASE
@ -106,11 +103,13 @@ case $VENV in
load_conf_hook ovsfw
fi
export DEVSTACK_LOCALCONF=$(cat $LOCAL_CONF)
$BASE/new/devstack-gate/devstack-vm-gate.sh
;;
"rally")
load_rc_for_rally
export DEVSTACK_LOCALCONF=$(cat $LOCAL_CONF)
$BASE/new/devstack-gate/devstack-vm-gate.sh
;;