Browse code

Merge "Improve savanna keystone auth configuration"

Jenkins authored on 2014/02/25 17:23:53
Showing 2 changed files
... ...
@@ -8,6 +8,7 @@ if is_service_enabled savanna; then
8 8
     elif [[ "$1" == "stack" && "$2" == "install" ]]; then
9 9
         echo_summary "Installing Savanna"
10 10
         install_savanna
11
+        cleanup_savanna
11 12
         if is_service_enabled horizon; then
12 13
             install_savanna_dashboard
13 14
         fi
... ...
@@ -29,4 +30,8 @@ if is_service_enabled savanna; then
29 29
             cleanup_savanna_dashboard
30 30
         fi
31 31
     fi
32
+
33
+    if [[ "$1" == "clean" ]]; then
34
+        cleanup_savanna
35
+    fi
32 36
 fi
... ...
@@ -10,6 +10,7 @@
10 10
 # configure_savanna
11 11
 # start_savanna
12 12
 # stop_savanna
13
+# cleanup_savanna
13 14
 
14 15
 # Save trace setting
15 16
 XTRACE=$(set +o | grep xtrace)
... ...
@@ -33,6 +34,8 @@ SAVANNA_SERVICE_HOST=${SAVANNA_SERVICE_HOST:-$SERVICE_HOST}
33 33
 SAVANNA_SERVICE_PORT=${SAVANNA_SERVICE_PORT:-8386}
34 34
 SAVANNA_SERVICE_PROTOCOL=${SAVANNA_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
35 35
 
36
+SAVANNA_AUTH_CACHE_DIR=${SAVANNA_AUTH_CACHE_DIR:-/var/cache/savanna}
37
+
36 38
 # Support entry points installation of console scripts
37 39
 if [[ -d $SAVANNA_DIR/bin ]]; then
38 40
     SAVANNA_BIN_DIR=$SAVANNA_DIR/bin
... ...
@@ -83,6 +86,14 @@ function create_savanna_accounts() {
83 83
     fi
84 84
 }
85 85
 
86
+# cleanup_savanna() - Remove residual data files, anything left over from
87
+# previous runs that would need to clean up.
88
+function cleanup_savanna() {
89
+
90
+    # Cleanup auth cache dir
91
+    sudo rm -rf $SAVANNA_AUTH_CACHE_DIR
92
+}
93
+
86 94
 # configure_savanna() - Set config files, create data dirs, etc
87 95
 function configure_savanna() {
88 96
 
... ...
@@ -94,9 +105,27 @@ function configure_savanna() {
94 94
     # Copy over savanna configuration file and configure common parameters.
95 95
     cp $SAVANNA_DIR/etc/savanna/savanna.conf.sample $SAVANNA_CONF_FILE
96 96
 
97
+    # Create auth cache dir
98
+    sudo mkdir -p $SAVANNA_AUTH_CACHE_DIR
99
+    sudo chown $STACK_USER $SAVANNA_AUTH_CACHE_DIR
100
+    rm -rf $SAVANNA_AUTH_CACHE_DIR/*
101
+
102
+    # Set obsolete keystone auth configs for backward compatibility
103
+    iniset $SAVANNA_CONF_FILE DEFAULT os_auth_host $KEYSTONE_SERVICE_HOST
104
+    iniset $SAVANNA_CONF_FILE DEFAULT os_auth_port $KEYSTONE_SERVICE_PORT
105
+    iniset $SAVANNA_CONF_FILE DEFAULT os_auth_protocol $KEYSTONE_SERVICE_PROTOCOL
97 106
     iniset $SAVANNA_CONF_FILE DEFAULT os_admin_password $SERVICE_PASSWORD
98 107
     iniset $SAVANNA_CONF_FILE DEFAULT os_admin_username savanna
99 108
     iniset $SAVANNA_CONF_FILE DEFAULT os_admin_tenant_name $SERVICE_TENANT_NAME
109
+
110
+    # Set actual keystone auth configs
111
+    iniset $SAVANNA_CONF_FILE keystone_authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/
112
+    iniset $SAVANNA_CONF_FILE keystone_authtoken admin_tenant_name $SERVICE_TENANT_NAME
113
+    iniset $SAVANNA_CONF_FILE keystone_authtoken admin_user savanna
114
+    iniset $SAVANNA_CONF_FILE keystone_authtoken admin_password $SERVICE_PASSWORD
115
+    iniset $SAVANNA_CONF_FILE keystone_authtoken signing_dir $SAVANNA_AUTH_CACHE_DIR
116
+    iniset $SAVANNA_CONF_FILE keystone_authtoken cafile $KEYSTONE_SSL_CA
117
+
100 118
     iniset $SAVANNA_CONF_FILE DEFAULT debug $SAVANNA_DEBUG
101 119
 
102 120
     iniset $SAVANNA_CONF_FILE database connection `database_connection_url savanna`