Browse code

Added support of sahara with tls-proxy service

Now devstack will configure tls-proxy for sahara as well as for
other openstack services.

Change-Id: I7b0f2f0773cd3619a33cac66d40f3d0ce0f5432c
Closes-Bug: #1419163

Andrew Lazarev authored on 2015/02/10 09:51:25
Showing 1 changed files
... ...
@@ -33,11 +33,12 @@ SAHARA_DIR=$DEST/sahara
33 33
 SAHARA_CONF_DIR=${SAHARA_CONF_DIR:-/etc/sahara}
34 34
 SAHARA_CONF_FILE=${SAHARA_CONF_DIR}/sahara.conf
35 35
 
36
-if is_ssl_enabled_service "sahara"; then
36
+if is_ssl_enabled_service "sahara" || is_service_enabled tls-proxy; then
37 37
     SAHARA_SERVICE_PROTOCOL="https"
38 38
 fi
39 39
 SAHARA_SERVICE_HOST=${SAHARA_SERVICE_HOST:-$SERVICE_HOST}
40 40
 SAHARA_SERVICE_PORT=${SAHARA_SERVICE_PORT:-8386}
41
+SAHARA_SERVICE_PORT_INT=${SAHARA_SERVICE_PORT_INT:-18386}
41 42
 SAHARA_SERVICE_PROTOCOL=${SAHARA_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
42 43
 
43 44
 SAHARA_AUTH_CACHE_DIR=${SAHARA_AUTH_CACHE_DIR:-/var/cache/sahara}
... ...
@@ -183,6 +184,11 @@ function configure_sahara {
183 183
         setup_colorized_logging $SAHARA_CONF_FILE DEFAULT
184 184
     fi
185 185
 
186
+    if is_service_enabled tls-proxy; then
187
+        # Set the service port for a proxy to take the original
188
+        iniset $SAHARA_CONF DEFAULT port $SAHARA_SERVICE_PORT_INT
189
+    fi
190
+
186 191
     recreate_database sahara
187 192
     $SAHARA_BIN_DIR/sahara-db-manage --config-file $SAHARA_CONF_FILE upgrade head
188 193
 }
... ...
@@ -214,9 +220,26 @@ function sahara_register_images {
214 214
 
215 215
 # start_sahara() - Start running processes, including screen
216 216
 function start_sahara {
217
+    local service_port=$SAHARA_SERVICE_PORT
218
+    local service_protocol=$SAHARA_SERVICE_PROTOCOL
219
+    if is_service_enabled tls-proxy; then
220
+        service_port=$SAHARA_SERVICE_PORT_INT
221
+        service_protocol="http"
222
+    fi
223
+
217 224
     run_process sahara "$SAHARA_BIN_DIR/sahara-all --config-file $SAHARA_CONF_FILE"
218 225
     run_process sahara-api "$SAHARA_BIN_DIR/sahara-api --config-file $SAHARA_CONF_FILE"
219 226
     run_process sahara-eng "$SAHARA_BIN_DIR/sahara-engine --config-file $SAHARA_CONF_FILE"
227
+
228
+    echo "Waiting for Sahara to start..."
229
+    if ! wait_for_service $SERVICE_TIMEOUT $service_protocol://$SAHARA_SERVICE_HOST:$service_port; then
230
+        die $LINENO "Sahara did not start"
231
+    fi
232
+
233
+    # Start proxies if enabled
234
+    if is_service_enabled tls-proxy; then
235
+        start_tls_proxy '*' $SAHARA_SERVICE_PORT $SAHARA_SERVICE_HOST $SAHARA_SERVICE_PORT_INT &
236
+    fi
220 237
 }
221 238
 
222 239
 # stop_sahara() - Stop running processes