[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
This commit is contained in:
parent
7041971c41
commit
9060c0b3e1
1
.gitignore
vendored
1
.gitignore
vendored
@ -17,6 +17,7 @@ sdist
|
||||
develop-eggs
|
||||
.installed.cfg
|
||||
lib
|
||||
!devstack/lib
|
||||
lib64
|
||||
|
||||
# Installer logs
|
||||
|
@ -1,20 +0,0 @@
|
||||
===============================
|
||||
Installing Rally using devstack
|
||||
===============================
|
||||
|
||||
The contrib/devstack/ directory contains the files necessary to integrate Rally with devstack.
|
||||
|
||||
To install::
|
||||
|
||||
$ DEVSTACK_DIR=.../path/to/devstack
|
||||
$ cp lib/rally ${DEVSTACK_DIR}/lib
|
||||
$ cp extras.d/70-rally.sh ${DEVSTACK_DIR}/extras.d
|
||||
|
||||
To configure devstack to run rally::
|
||||
|
||||
$ cd ${DEVSTACK_DIR}
|
||||
$ echo "enable_service rally" >> localrc
|
||||
|
||||
Run devstack as normal::
|
||||
|
||||
$ ./stack.sh
|
@ -1,18 +0,0 @@
|
||||
# rally.sh - DevStack extras script to install Rally
|
||||
|
||||
if is_service_enabled rally; then
|
||||
if [[ "$1" == "source" ]]; then
|
||||
# Initial source
|
||||
source $TOP_DIR/lib/rally
|
||||
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
|
||||
echo_summary "Installing Rally"
|
||||
install_rally
|
||||
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
||||
echo_summary "Configuring Rally"
|
||||
configure_rally
|
||||
create_rally_accounts
|
||||
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
||||
echo_summary "Initializing Rally"
|
||||
init_rally
|
||||
fi
|
||||
fi
|
14
devstack/README.rst
Normal file
14
devstack/README.rst
Normal file
@ -0,0 +1,14 @@
|
||||
===============================
|
||||
Installing Rally using devstack
|
||||
===============================
|
||||
|
||||
This directory contains the files necessary to integrate Rally with devstack.
|
||||
|
||||
To configure devstack to run rally::
|
||||
|
||||
$ cd ${DEVSTACK_DIR}
|
||||
$ echo "enable_plugin rally https://github.com/openstack/rally master" >> localrc
|
||||
|
||||
Run devstack as normal::
|
||||
|
||||
$ ./stack.sh
|
@ -10,7 +10,6 @@
|
||||
#
|
||||
# - install_rally
|
||||
# - configure_rally
|
||||
# - create_rally_accounts
|
||||
# - init_rally
|
||||
|
||||
# Save trace setting
|
||||
@ -21,10 +20,6 @@ set +o xtrace
|
||||
# Defaults
|
||||
# --------
|
||||
|
||||
# Set up default repos
|
||||
RALLY_REPO=${RALLY_REPO:-${GIT_BASE}/openstack/rally.git}
|
||||
RALLY_BRANCH=${RALLY_BRANCH:-master}
|
||||
|
||||
# Set up default directories
|
||||
RALLY_DIR=$DEST/rally
|
||||
RALLY_CONF_DIR=${RALLY_CONF_DIR:-/etc/rally}
|
||||
@ -33,16 +28,6 @@ RALLY_CONF_FILE=rally.conf
|
||||
# Debug mode
|
||||
RALLY_DEBUG=${RALLY_DEBUG:-False}
|
||||
|
||||
# Support entry points installation of console scripts
|
||||
if [[ -d $RALLY_DIR/bin ]]; then
|
||||
RALLY_BIN_DIR=$NOVA_DIR/bin
|
||||
else
|
||||
RALLY_BIN_DIR=$(get_python_exec_prefix)
|
||||
fi
|
||||
|
||||
# Benchmark accounts
|
||||
BENCHMARK_TENANT=${BENCHMARK_TENANT:-benchmark}
|
||||
|
||||
# Create deployment
|
||||
RALLY_ADD_DEPLOYMENT=${RALLY_ADD_DEPLOYMENT:-"True"}
|
||||
RALLY_ADD_DEPLOYMENT=$(trueorfalse True $RALLY_ADD_DEPLOYMENT)
|
||||
@ -66,7 +51,7 @@ function _create_deployment_config() {
|
||||
"admin": {
|
||||
"username": "admin",
|
||||
"password": "$ADMIN_PASSWORD",
|
||||
"tenant_name": "benchmark"
|
||||
"tenant_name": "admin"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
@ -74,7 +59,6 @@ EOF
|
||||
|
||||
# install_rally() - Collect source and prepare
|
||||
function install_rally() {
|
||||
git_clone $RALLY_REPO $RALLY_DIR $RALLY_BRANCH
|
||||
setup_develop $RALLY_DIR
|
||||
}
|
||||
|
||||
@ -96,30 +80,17 @@ function configure_rally() {
|
||||
iniset $RALLY_CONF_DIR/$RALLY_CONF_FILE DEFAULT use_syslog $SYSLOG
|
||||
}
|
||||
|
||||
# create_rally_accounts() - Sets up common required rally accounts
|
||||
create_rally_accounts() {
|
||||
ADMIN_USER=$(keystone user-list | awk "/ admin / { print \$2 }")
|
||||
ADMIN_ROLE=$(keystone role-list | awk "/ admin / { print \$2 }")
|
||||
|
||||
BENHCMARK_TENANT=$(keystone tenant-create \
|
||||
--name benchmark \
|
||||
| grep " id " | get_field 2)
|
||||
keystone user-role-add \
|
||||
--user-id $ADMIN_USER \
|
||||
--role-id $ADMIN_ROLE \
|
||||
--tenant-id $BENHCMARK_TENANT
|
||||
}
|
||||
|
||||
# init_rally() - Initialize databases, etc.
|
||||
function init_rally() {
|
||||
recreate_database rally utf8
|
||||
# Recreate rally database
|
||||
$RALLY_BIN_DIR/rally-manage --config-file $RALLY_CONF_DIR/$RALLY_CONF_FILE db recreate
|
||||
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_BIN_DIR/rally --config-file $RALLY_CONF_DIR/$RALLY_CONF_FILE deployment create --name devstack --filename $tmpfile
|
||||
rally --config-file $RALLY_CONF_DIR/$RALLY_CONF_FILE deployment create --name devstack --filename $tmpfile
|
||||
fi
|
||||
}
|
||||
|
24
devstack/plugin.sh
Normal file
24
devstack/plugin.sh
Normal file
@ -0,0 +1,24 @@
|
||||
# DevStack extras script to install Rally
|
||||
|
||||
# Save trace setting
|
||||
XTRACE=$(set +o | grep xtrace)
|
||||
set -o xtrace
|
||||
|
||||
source $DEST/rally/devstack/lib/rally
|
||||
|
||||
if [[ "$1" == "source" ]]; then
|
||||
# Initial source
|
||||
source $TOP_DIR/lib/rally
|
||||
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
|
||||
echo_summary "Installing Rally"
|
||||
install_rally
|
||||
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
||||
echo_summary "Configuring Rally"
|
||||
configure_rally
|
||||
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
||||
echo_summary "Initializing Rally"
|
||||
init_rally
|
||||
fi
|
||||
|
||||
# Restore xtrace
|
||||
$XTRACE
|
3
devstack/settings
Normal file
3
devstack/settings
Normal file
@ -0,0 +1,3 @@
|
||||
# Devstack settings
|
||||
|
||||
enable_service rally
|
@ -590,37 +590,6 @@
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
||||
|
||||
-
|
||||
args:
|
||||
sleep: 0.01
|
||||
runner:
|
||||
type: "constant"
|
||||
times: 1
|
||||
concurrency: 1
|
||||
context:
|
||||
quotas:
|
||||
nova:
|
||||
instances: 200
|
||||
cores: 200
|
||||
ram: -1
|
||||
floating_ips: 200
|
||||
fixed_ips: 200
|
||||
metadata_items: -1
|
||||
injected_files: -1
|
||||
injected_file_content_bytes: -1
|
||||
injected_file_path_bytes: -1
|
||||
key_pairs: 500
|
||||
security_groups: 400
|
||||
security_group_rules: 600
|
||||
cinder:
|
||||
gigabytes: -1
|
||||
snapshots: -1
|
||||
volumes: -1
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
||||
|
||||
-
|
||||
args:
|
||||
sleep: 0.01
|
||||
@ -809,40 +778,6 @@
|
||||
failure_rate:
|
||||
max: 0
|
||||
|
||||
SaharaNodeGroupTemplates.create_and_list_node_group_templates:
|
||||
-
|
||||
args:
|
||||
flavor:
|
||||
name: "m1.small"
|
||||
runner:
|
||||
type: "constant"
|
||||
times: 20
|
||||
concurrency: 20
|
||||
context:
|
||||
users:
|
||||
tenants: 1
|
||||
users_per_tenant: 1
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
||||
|
||||
SaharaNodeGroupTemplates.create_delete_node_group_templates:
|
||||
-
|
||||
args:
|
||||
flavor:
|
||||
name: "m1.small"
|
||||
runner:
|
||||
type: "constant"
|
||||
times: 20
|
||||
concurrency: 20
|
||||
context:
|
||||
users:
|
||||
tenants: 1
|
||||
users_per_tenant: 1
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
||||
|
||||
Authenticate.validate_glance:
|
||||
-
|
||||
args:
|
||||
|
@ -21,6 +21,10 @@ if [ ! -d $RALLY_JOB_DIR ]; then
|
||||
RALLY_JOB_DIR=$BASE/new/$PROJECT/rally-jobs
|
||||
fi
|
||||
|
||||
echo $RALLY_JOB_DIR
|
||||
echo $RALLY_DIR
|
||||
ls $BASE/new/$PROJECT
|
||||
|
||||
BASE_FOR_TASK=${RALLY_JOB_DIR}/${RALLY_SCENARIO}
|
||||
|
||||
TASK=${BASE_FOR_TASK}.yaml
|
||||
|
Loading…
Reference in New Issue
Block a user