deckhand/tools/common-tests.sh
Felipe Monteiro 3d53d53712 Add uwsgi functional test check to .zuul.yaml
This adds a uwsgi functional test check to .zuul.yaml so that
deploying Deckhand via uwsgi (in a more standalone fashion,
sans containerization) works as intended.

Change-Id: I931ab4d11719daca7665d3a25b00e353c707237e
2018-05-29 20:25:15 +00:00

83 lines
2.2 KiB
Bash

#!/usr/bin/env bash
function log_section {
set +x
echo 1>&2
echo 1>&2
echo === $* === 1>&2
set -x
}
function gen_config {
#######################################
# Generate sample configuration file
# Globals:
# CONF_DIR
# DECKHAND_TEST_URL
# AIRSHIP_DECKHAND_DATABASE_URL
# DECKHAND_CONFIG_DIR
# Arguments:
# disable_keystone: true or false
# Deckhand test URL: URL to Deckhand wsgi server
# Returns:
# None
#######################################
set -xe;
log_section "Creating config directory and test deckhand.conf"
CONF_DIR=$(mktemp -d -p $(pwd))
sudo chmod 777 -R $CONF_DIR
local disable_keystone=$1
export DECKHAND_TEST_URL=$2
# Used by Deckhand's initialization script to search for config files.
export DECKHAND_CONFIG_DIR=$CONF_DIR
local conf_file=${CONF_DIR}/deckhand.conf
cp etc/deckhand/logging.conf.sample $CONF_DIR/logging.conf
envsubst '${AIRSHIP_DECKHAND_DATABASE_URL}' < deckhand/tests/deckhand.conf.test > $conf_file
# Only set up logging if running Deckhand via uwsgi. The container already has
# values for logging.
if [ -z "$DECKHAND_IMAGE" ]; then
sed '1 a log_config_append = '"$CONF_DIR"'/logging.conf' $conf_file
fi
if $disable_keystone; then
log_section "Toggling development_mode on to disable Keystone authentication."
sed -i -e 's/development_mode = false/development_mode = true/g' $conf_file
fi
echo $conf_file 1>&2
cat $conf_file 1>&2
echo $CONF_DIR/logging.conf 1>&2
cat $CONF_DIR/logging.conf 1>&2
}
function gen_paste {
#######################################
# Generate sample paste.ini file
# Globals:
# CONF_DIR
# Arguments:
# disable_keystone: true or false
# Returns:
# None
#######################################
set -xe;
local disable_keystone=$1
if $disable_keystone; then
log_section "Using noauth-paste.ini to disable Keystone authentication."
cp etc/deckhand/noauth-paste.ini $CONF_DIR/noauth-paste.ini
else
cp etc/deckhand/deckhand-paste.ini $CONF_DIR/deckhand-paste.ini
fi
}