edfd580b9e
Switch Rally integration with Devstack to the new plugin model [1]. This allows to install Rally by one line in localrc, without copying any files by hand. It also may make setting CI jobs easier. [1] http://docs.openstack.org/developer/devstack/plugins.html * Remove Sahara pluging from Rally gate job Sahara was removed from default services that run DevStack in gates We need to remove these scenarios from rally.yaml and add separate job for Sahara Depends-on: I845178bd51f2623fa56bb97f8bd5f2e4e7553613 Change-Id: Ia4e211dbf50d13068502c27c26cf5e3199542ce7
104 lines
2.6 KiB
Plaintext
104 lines
2.6 KiB
Plaintext
# lib/rally
|
|
# Functions to control the configuration and operation of the **Rally**
|
|
|
|
# Dependencies:
|
|
#
|
|
# - ``functions`` file
|
|
# - ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined
|
|
|
|
# ``stack.sh`` calls the entry points in this order:
|
|
#
|
|
# - install_rally
|
|
# - configure_rally
|
|
# - init_rally
|
|
|
|
# Save trace setting
|
|
XTRACE=$(set +o | grep xtrace)
|
|
set +o xtrace
|
|
|
|
|
|
# Defaults
|
|
# --------
|
|
|
|
# Set up default directories
|
|
RALLY_DIR=$DEST/rally
|
|
RALLY_CONF_DIR=${RALLY_CONF_DIR:-/etc/rally}
|
|
RALLY_CONF_FILE=rally.conf
|
|
|
|
# Debug mode
|
|
RALLY_DEBUG=${RALLY_DEBUG:-False}
|
|
|
|
# Create deployment
|
|
RALLY_ADD_DEPLOYMENT=${RALLY_ADD_DEPLOYMENT:-"True"}
|
|
RALLY_ADD_DEPLOYMENT=$(trueorfalse True $RALLY_ADD_DEPLOYMENT)
|
|
|
|
# Functions
|
|
# ---------
|
|
|
|
# Creates a configuration file for the current deployment
|
|
# Uses the following variables:
|
|
#
|
|
# - ``ADMIN_PASSWORD``, ``KEYSTONE_SERVICE_PROTOCOL``,
|
|
# ``KEYSTONE_SERVICE_HOST``, ``KEYSTONE_SERVICE_PORT``,
|
|
# ``IDENTITY_API_VERSION`` - must be defined
|
|
#
|
|
# _create_deployment_config filename
|
|
function _create_deployment_config() {
|
|
cat >$1 <<EOF
|
|
{
|
|
"type": "ExistingCloud",
|
|
"auth_url": "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v$IDENTITY_API_VERSION",
|
|
"admin": {
|
|
"username": "admin",
|
|
"password": "$ADMIN_PASSWORD",
|
|
"tenant_name": "admin"
|
|
}
|
|
}
|
|
EOF
|
|
}
|
|
|
|
# install_rally() - Collect source and prepare
|
|
function install_rally() {
|
|
setup_develop $RALLY_DIR
|
|
}
|
|
|
|
# configure_rally() - Set config files, create data dirs, etc
|
|
function configure_rally() {
|
|
|
|
if [[ ! -d $RALLY_CONF_DIR ]]; then
|
|
sudo mkdir -p $RALLY_CONF_DIR
|
|
fi
|
|
sudo chown $STACK_USER $RALLY_CONF_DIR
|
|
|
|
# Copy over rally configuration file and configure common parameters.
|
|
cp $RALLY_DIR/etc/rally/rally.conf.sample $RALLY_CONF_DIR/$RALLY_CONF_FILE
|
|
|
|
iniset $RALLY_CONF_DIR/$RALLY_CONF_FILE DEFAULT debug $RALLY_DEBUG
|
|
|
|
iniset $RALLY_CONF_DIR/$RALLY_CONF_FILE database connection `database_connection_url rally`
|
|
|
|
iniset $RALLY_CONF_DIR/$RALLY_CONF_FILE DEFAULT use_syslog $SYSLOG
|
|
}
|
|
|
|
|
|
# init_rally() - Initialize databases, etc.
|
|
function init_rally() {
|
|
recreate_database rally utf8
|
|
# Recreate rally database
|
|
rally-manage --config-file $RALLY_CONF_DIR/$RALLY_CONF_FILE db recreate
|
|
# Add current DevStack deployment to Rally
|
|
if [ "$RALLY_ADD_DEPLOYMENT" = "True" ]; then
|
|
local tmpfile=$(mktemp)
|
|
_create_deployment_config $tmpfile
|
|
rally --config-file $RALLY_CONF_DIR/$RALLY_CONF_FILE deployment create --name devstack --filename $tmpfile
|
|
fi
|
|
}
|
|
|
|
# Restore xtrace
|
|
$XTRACE
|
|
|
|
# Tell emacs to use shell-script-mode
|
|
## Local variables:
|
|
## mode: shell-script
|
|
## End:
|