3d53d53712
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
83 lines
2.2 KiB
Bash
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
|
|
}
|