* create savanna user with admin role for auth token checks
* create service data_processing
* create savanna endpoint
* use savanna user for auth token checks
It's needed for running tempest tests.
Change-Id: Iff26960746e36012c275f43c0de0dedcaebc8b0a
| ... | ... |
@@ -14,6 +14,7 @@ if is_service_enabled savanna; then |
| 14 | 14 |
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then |
| 15 | 15 |
echo_summary "Configuring Savanna" |
| 16 | 16 |
configure_savanna |
| 17 |
+ create_savanna_accounts |
|
| 17 | 18 |
if is_service_enabled horizon; then |
| 18 | 19 |
configure_savanna_dashboard |
| 19 | 20 |
fi |
| ... | ... |
@@ -3,7 +3,6 @@ |
| 3 | 3 |
# Dependencies: |
| 4 | 4 |
# ``functions`` file |
| 5 | 5 |
# ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined |
| 6 |
-# ``ADMIN_{TENANT_NAME|PASSWORD}`` must be defined
|
|
| 7 | 6 |
|
| 8 | 7 |
# ``stack.sh`` calls the entry points in this order: |
| 9 | 8 |
# |
| ... | ... |
@@ -28,11 +27,12 @@ SAVANNA_BRANCH=${SAVANNA_BRANCH:-master}
|
| 28 | 28 |
SAVANNA_DIR=$DEST/savanna |
| 29 | 29 |
SAVANNA_CONF_DIR=${SAVANNA_CONF_DIR:-/etc/savanna}
|
| 30 | 30 |
SAVANNA_CONF_FILE=savanna.conf |
| 31 |
-ADMIN_TENANT_NAME=${ADMIN_TENANT_NAME:-admin}
|
|
| 32 |
-ADMIN_NAME=${ADMIN_NAME:-admin}
|
|
| 33 |
-ADMIN_PASSWORD=${ADMIN_PASSWORD:-nova}
|
|
| 34 | 31 |
SAVANNA_DEBUG=${SAVANNA_DEBUG:-True}
|
| 35 | 32 |
|
| 33 |
+SAVANNA_SERVICE_HOST=${SAVANNA_SERVICE_HOST:-$SERVICE_HOST}
|
|
| 34 |
+SAVANNA_SERVICE_PORT=${SAVANNA_SERVICE_PORT:-8386}
|
|
| 35 |
+SAVANNA_SERVICE_PROTOCOL=${SAVANNA_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
|
|
| 36 |
+ |
|
| 36 | 37 |
# Support entry points installation of console scripts |
| 37 | 38 |
if [[ -d $SAVANNA_DIR/bin ]]; then |
| 38 | 39 |
SAVANNA_BIN_DIR=$SAVANNA_DIR/bin |
| ... | ... |
@@ -43,6 +43,42 @@ fi |
| 43 | 43 |
# Functions |
| 44 | 44 |
# --------- |
| 45 | 45 |
|
| 46 |
+# create_savanna_accounts() - Set up common required savanna accounts |
|
| 47 |
+# |
|
| 48 |
+# Tenant User Roles |
|
| 49 |
+# ------------------------------ |
|
| 50 |
+# service savanna admin |
|
| 51 |
+function create_savanna_accounts() {
|
|
| 52 |
+ |
|
| 53 |
+ SERVICE_TENANT=$(keystone tenant-list | awk "/ $SERVICE_TENANT_NAME / { print \$2 }")
|
|
| 54 |
+ ADMIN_ROLE=$(keystone role-list | awk "/ admin / { print \$2 }")
|
|
| 55 |
+ |
|
| 56 |
+ SAVANNA_USER=$(keystone user-create \ |
|
| 57 |
+ --name=savanna \ |
|
| 58 |
+ --pass="$SERVICE_PASSWORD" \ |
|
| 59 |
+ --tenant_id $SERVICE_TENANT \ |
|
| 60 |
+ --email=savanna@example.com \ |
|
| 61 |
+ | grep " id " | get_field 2) |
|
| 62 |
+ keystone user-role-add \ |
|
| 63 |
+ --tenant-id $SERVICE_TENANT \ |
|
| 64 |
+ --user-id $SAVANNA_USER \ |
|
| 65 |
+ --role-id $ADMIN_ROLE |
|
| 66 |
+ |
|
| 67 |
+ if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then |
|
| 68 |
+ SAVANNA_SERVICE=$(keystone service-create \ |
|
| 69 |
+ --name=savanna \ |
|
| 70 |
+ --type=data_processing \ |
|
| 71 |
+ --description="Savanna Data Processing" \ |
|
| 72 |
+ | grep " id " | get_field 2) |
|
| 73 |
+ keystone endpoint-create \ |
|
| 74 |
+ --region RegionOne \ |
|
| 75 |
+ --service_id $SAVANNA_SERVICE \ |
|
| 76 |
+ --publicurl "$SAVANNA_SERVICE_PROTOCOL://$SAVANNA_SERVICE_HOST:$SAVANNA_SERVICE_PORT/v1.1/\$(tenant_id)s" \ |
|
| 77 |
+ --adminurl "$SAVANNA_SERVICE_PROTOCOL://$SAVANNA_SERVICE_HOST:$SAVANNA_SERVICE_PORT/v1.1/\$(tenant_id)s" \ |
|
| 78 |
+ --internalurl "$SAVANNA_SERVICE_PROTOCOL://$SAVANNA_SERVICE_HOST:$SAVANNA_SERVICE_PORT/v1.1/\$(tenant_id)s" |
|
| 79 |
+ fi |
|
| 80 |
+} |
|
| 81 |
+ |
|
| 46 | 82 |
# configure_savanna() - Set config files, create data dirs, etc |
| 47 | 83 |
function configure_savanna() {
|
| 48 | 84 |
|
| ... | ... |
@@ -54,9 +90,9 @@ function configure_savanna() {
|
| 54 | 54 |
# Copy over savanna configuration file and configure common parameters. |
| 55 | 55 |
cp $SAVANNA_DIR/etc/savanna/savanna.conf.sample $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE |
| 56 | 56 |
|
| 57 |
- iniset $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE DEFAULT os_admin_password $ADMIN_PASSWORD |
|
| 58 |
- iniset $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE DEFAULT os_admin_username $ADMIN_NAME |
|
| 59 |
- iniset $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE DEFAULT os_admin_tenant_name $ADMIN_TENANT_NAME |
|
| 57 |
+ iniset $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE DEFAULT os_admin_password $SERVICE_PASSWORD |
|
| 58 |
+ iniset $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE DEFAULT os_admin_username savanna |
|
| 59 |
+ iniset $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE DEFAULT os_admin_tenant_name $SERVICE_TENANT_NAME |
|
| 60 | 60 |
iniset $SAVANNA_CONF_DIR/$SAVANNA_CONF_FILE DEFAULT debug $SAVANNA_DEBUG |
| 61 | 61 |
|
| 62 | 62 |
recreate_database savanna utf8 |