localize user/project variables in tempest
lib/tempest is using / setting a ton of globals, a lot which don't
look used. As a first step to converting over to s/tenant/project/
make all of these local which means they can not be impacting anything
outside of this function. That will make them safe to change names
later.
Change-Id: I380dd20e5ed716a0bdf92aa02c3730359b8136e4
diff --git a/lib/tempest b/lib/tempest
index f75d755..caf8f11 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -176,17 +176,18 @@
sudo install -d -o $STACK_USER $TEMPEST_CONFIG_DIR
rm -f $TEMPEST_CONFIG
- password=${ADMIN_PASSWORD:-secrete}
+ local password=${ADMIN_PASSWORD:-secrete}
# See ``lib/keystone`` where these users and tenants are set up
- ADMIN_USERNAME=${ADMIN_USERNAME:-admin}
- ADMIN_TENANT_NAME=${ADMIN_TENANT_NAME:-admin}
- ADMIN_DOMAIN_NAME=${ADMIN_DOMAIN_NAME:-Default}
- TEMPEST_USERNAME=${TEMPEST_USERNAME:-demo}
- TEMPEST_TENANT_NAME=${TEMPEST_TENANT_NAME:-demo}
- ALT_USERNAME=${ALT_USERNAME:-alt_demo}
- ALT_TENANT_NAME=${ALT_TENANT_NAME:-alt_demo}
- ADMIN_TENANT_ID=$(openstack project list | awk "/ admin / { print \$2 }")
+ local admin_username=${ADMIN_USERNAME:-admin}
+ local admin_tenant_name=${ADMIN_TENANT_NAME:-admin}
+ local admin_domain_name=${ADMIN_DOMAIN_NAME:-Default}
+ local tempest_username=${TEMPEST_USERNAME:-demo}
+ local tempest_tenant_name=${TEMPEST_TENANT_NAME:-demo}
+ local alt_username=${ALT_USERNAME:-alt_demo}
+ local alt_tenant_name=${ALT_TENANT_NAME:-alt_demo}
+ local admin_tenant_id
+ admin_tenant_id=$(openstack project list | awk "/ admin / { print \$2 }")
if is_service_enabled nova; then
# If ``DEFAULT_INSTANCE_TYPE`` is not declared, use the new behavior
@@ -260,11 +261,11 @@
iniset $TEMPEST_CONFIG identity uri "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:5000/v2.0/"
iniset $TEMPEST_CONFIG identity uri_v3 "$KEYSTONE_SERVICE_URI_V3"
if [[ "$TEMPEST_HAS_ADMIN" == "True" ]]; then
- iniset $TEMPEST_CONFIG auth admin_username $ADMIN_USERNAME
+ iniset $TEMPEST_CONFIG auth admin_username $admin_username
iniset $TEMPEST_CONFIG auth admin_password "$password"
- iniset $TEMPEST_CONFIG auth admin_tenant_name $ADMIN_TENANT_NAME
- iniset $TEMPEST_CONFIG auth admin_tenant_id $ADMIN_TENANT_ID
- iniset $TEMPEST_CONFIG auth admin_domain_name $ADMIN_DOMAIN_NAME
+ iniset $TEMPEST_CONFIG auth admin_tenant_name $admin_tenant_name
+ iniset $TEMPEST_CONFIG auth admin_tenant_id $admin_tenant_id
+ iniset $TEMPEST_CONFIG auth admin_domain_name $admin_domain_name
fi
if [ "$ENABLE_IDENTITY_V2" == "False" ]; then
# Only Identity v3 is available; then skip Identity API v2 tests
@@ -531,8 +532,9 @@
# this tempest service list needs to be all the services that
# tempest supports, otherwise we can have an erroneous set of
# defaults (something defaulting true in Tempest, but not listed here).
- TEMPEST_SERVICES="key,glance,nova,neutron,cinder,swift,heat,ceilometer,horizon,sahara,ironic,trove"
- for service in ${TEMPEST_SERVICES//,/ }; do
+ local service
+ local tempest_services="key,glance,nova,neutron,cinder,swift,heat,ceilometer,horizon,sahara,ironic,trove"
+ for service in ${tempest_services//,/ }; do
if is_service_enabled $service ; then
iniset $TEMPEST_CONFIG service_available $service "True"
else
@@ -550,9 +552,9 @@
iniset $TEMPEST_CONFIG auth tempest_roles "Member"
if [[ $TEMPEST_USE_TEST_ACCOUNTS == "True" ]]; then
if [[ $TEMPEST_HAS_ADMIN == "True" ]]; then
- tempest-account-generator -c $TEMPEST_CONFIG --os-username $ADMIN_USERNAME --os-password $ADMIN_PASSWORD --os-tenant-name $ADMIN_TENANT_NAME -r $TEMPEST_CONCURRENCY --with-admin etc/accounts.yaml
+ tempest-account-generator -c $TEMPEST_CONFIG --os-username $admin_username --os-password $admin_password --os-tenant-name $admin_tenant_name -r $TEMPEST_CONCURRENCY --with-admin etc/accounts.yaml
else
- tempest-account-generator -c $TEMPEST_CONFIG --os-username $ADMIN_USERNAME --os-password $ADMIN_PASSWORD --os-tenant-name $ADMIN_TENANT_NAME -r $TEMPEST_CONCURRENCY etc/accounts.yaml
+ tempest-account-generator -c $TEMPEST_CONFIG --os-username $admin_username --os-password $admin_password --os-tenant-name $admin_tenant_name -r $TEMPEST_CONCURRENCY etc/accounts.yaml
fi
iniset $TEMPEST_CONFIG auth use_dynamic_credentials False
iniset $TEMPEST_CONFIG auth test_accounts_file "etc/accounts.yaml"