rally-openstack/devstack/lib/rally
Michal Rostecki edfd580b9e [gates] Convert Rally to the new Devstack plugin model
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
2015-09-03 23:00:09 -07:00

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: