Browse code

Port work on SERVICE_HOST from stable/diablo. Allows user to specify service endpoint host separately from HOST_IP

* Improve openrc comment

Change-Id: Ib542b39350bae8d92b6c3c4cf6b5d9aabff7a61c

Anthony Young authored on 2011/12/28 16:22:14
Showing 3 changed files
... ...
@@ -36,12 +36,12 @@ if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
36 36
 fi
37 37
 
38 38
 #endpointTemplates
39
-$BIN_DIR/keystone-manage endpointTemplates add RegionOne nova http://%HOST_IP%:8774/v1.1/%tenant_id% http://%HOST_IP%:8774/v1.1/%tenant_id%  http://%HOST_IP%:8774/v1.1/%tenant_id% 1 1
40
-$BIN_DIR/keystone-manage endpointTemplates add RegionOne ec2 http://%HOST_IP%:8773/services/Cloud http://%HOST_IP%:8773/services/Admin http://%HOST_IP%:8773/services/Cloud 1 1
41
-$BIN_DIR/keystone-manage endpointTemplates add RegionOne glance http://%HOST_IP%:9292/v1.1/%tenant_id% http://%HOST_IP%:9292/v1.1/%tenant_id% http://%HOST_IP%:9292/v1.1/%tenant_id% 1 1
42
-$BIN_DIR/keystone-manage endpointTemplates add RegionOne keystone http://%HOST_IP%:5000/v2.0 http://%HOST_IP%:35357/v2.0 http://%HOST_IP%:5000/v2.0 1 1
39
+$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne nova http://%SERVICE_HOST%:8774/v1.1/%tenant_id% http://%SERVICE_HOST%:8774/v1.1/%tenant_id%  http://%SERVICE_HOST%:8774/v1.1/%tenant_id% 1 1
40
+$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne ec2 http://%SERVICE_HOST%:8773/services/Cloud http://%SERVICE_HOST%:8773/services/Admin http://%SERVICE_HOST%:8773/services/Cloud 1 1
41
+$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne glance http://%SERVICE_HOST%:9292/v1.1/%tenant_id% http://%SERVICE_HOST%:9292/v1.1/%tenant_id% http://%SERVICE_HOST%:9292/v1.1/%tenant_id% 1 1
42
+$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne keystone http://%SERVICE_HOST%:5000/v2.0 http://%SERVICE_HOST%:35357/v2.0 http://%SERVICE_HOST%:5000/v2.0 1 1
43 43
 if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
44
-    $BIN_DIR/keystone-manage endpointTemplates add RegionOne swift http://%HOST_IP%:8080/v1/AUTH_%tenant_id% http://%HOST_IP%:8080/ http://%HOST_IP%:8080/v1/AUTH_%tenant_id% 1 1
44
+    $BIN_DIR/keystone-manage $* endpointTemplates add RegionOne swift http://%SERVICE_HOST%:8080/v1/AUTH_%tenant_id% http://%SERVICE_HOST%:8080/ http://%SERVICE_HOST%:8080/v1/AUTH_%tenant_id% 1 1
45 45
 fi
46 46
 
47 47
 # Tokens
... ...
@@ -3,8 +3,10 @@
3 3
 # Load local configuration
4 4
 source ./stackrc
5 5
 
6
-# Set api host endpoint
6
+# Set api HOST_IP endpoint.  SERVICE_HOST may also be used to specify the endpoint,
7
+# which is convenient for some localrc configurations.
7 8
 HOST_IP=${HOST_IP:-127.0.0.1}
9
+SERVICE_HOST=${SERVICE_HOST:-$HOST_IP}
8 10
 
9 11
 # Nova original used project_id as the *account* that owned resources (servers,
10 12
 # ip address, ...)   With the addition of Keystone we have standardized on the
... ...
@@ -29,7 +31,7 @@ export NOVA_PASSWORD=${ADMIN_PASSWORD:-secrete}
29 29
 #
30 30
 # *NOTE*: Using the 2.0 *auth api* does not mean that compute api is 2.0.  We
31 31
 # will use the 1.1 *compute api*
32
-export NOVA_URL=${NOVA_URL:-http://$HOST_IP:5000/v2.0/}
32
+export NOVA_URL=${NOVA_URL:-http://$SERVICE_HOST:5000/v2.0/}
33 33
 
34 34
 # Currently novaclient needs you to specify the *compute api* version.  This
35 35
 # needs to match the config of your catalog returned by Keystone.
... ...
@@ -39,7 +41,7 @@ export NOVA_VERSION=${NOVA_VERSION:-1.1}
39 39
 export NOVA_REGION_NAME=${NOVA_REGION_NAME:-RegionOne}
40 40
 
41 41
 # Set the ec2 url so euca2ools works
42
-export EC2_URL=${EC2_URL:-http://$HOST_IP:8773/services/Cloud}
42
+export EC2_URL=${EC2_URL:-http://$SERVICE_HOST:8773/services/Cloud}
43 43
 
44 44
 # Access key is set in the initial keystone data to be the same as username
45 45
 export EC2_ACCESS_KEY=${USERNAME:-demo}
... ...
@@ -214,6 +214,9 @@ if [ ! -n "$HOST_IP" ]; then
214 214
     fi
215 215
 fi
216 216
 
217
+# Allow the use of an alternate hostname (such as localhost/127.0.0.1) for service endpoints.
218
+SERVICE_HOST=${SERVICE_HOST:-$HOST_IP}
219
+
217 220
 # Configure services to syslog instead of writing to individual log files
218 221
 SYSLOG=`trueorfalse False $SYSLOG`
219 222
 SYSLOG_HOST=${SYSLOG_HOST:-$HOST_IP}
... ...
@@ -270,7 +273,7 @@ FIXED_RANGE=${FIXED_RANGE:-10.0.0.0/24}
270 270
 FIXED_NETWORK_SIZE=${FIXED_NETWORK_SIZE:-256}
271 271
 FLOATING_RANGE=${FLOATING_RANGE:-172.24.4.224/28}
272 272
 NET_MAN=${NET_MAN:-FlatDHCPManager}
273
-EC2_DMZ_HOST=${EC2_DMZ_HOST:-$HOST_IP}
273
+EC2_DMZ_HOST=${EC2_DMZ_HOST:-$SERVICE_HOST}
274 274
 FLAT_NETWORK_BRIDGE=${FLAT_NETWORK_BRIDGE:-br100}
275 275
 VLAN_INTERFACE=${VLAN_INTERFACE:-$PUBLIC_INTERFACE}
276 276
 
... ...
@@ -333,7 +336,7 @@ RABBIT_HOST=${RABBIT_HOST:-localhost}
333 333
 read_password RABBIT_PASSWORD "ENTER A PASSWORD TO USE FOR RABBIT."
334 334
 
335 335
 # Glance connection info.  Note the port must be specified.
336
-GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$HOST_IP:9292}
336
+GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$SERVICE_HOST:9292}
337 337
 
338 338
 # SWIFT
339 339
 # -----
... ...
@@ -1061,7 +1064,7 @@ if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
1061 1061
     add_nova_flag "--osapi_extension=extensions.admin.Admin"
1062 1062
 fi
1063 1063
 if [[ "$ENABLED_SERVICES" =~ "n-vnc" ]]; then
1064
-    VNCPROXY_URL=${VNCPROXY_URL:-"http://$HOST_IP:6080"}
1064
+    VNCPROXY_URL=${VNCPROXY_URL:-"http://$SERVICE_HOST:6080"}
1065 1065
     add_nova_flag "--vncproxy_url=$VNCPROXY_URL"
1066 1066
     add_nova_flag "--vncproxy_wwwroot=$NOVNC_DIR/"
1067 1067
 fi
... ...
@@ -1142,7 +1145,7 @@ if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
1142 1142
     # keystone_data.sh creates our admin user and our ``SERVICE_TOKEN``.
1143 1143
     KEYSTONE_DATA=$KEYSTONE_DIR/bin/keystone_data.sh
1144 1144
     cp $FILES/keystone_data.sh $KEYSTONE_DATA
1145
-    sudo sed -e "s,%HOST_IP%,$HOST_IP,g" -i $KEYSTONE_DATA
1145
+    sudo sed -e "s,%SERVICE_HOST%,$SERVICE_HOST,g" -i $KEYSTONE_DATA
1146 1146
     sudo sed -e "s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g" -i $KEYSTONE_DATA
1147 1147
     sudo sed -e "s,%ADMIN_PASSWORD%,$ADMIN_PASSWORD,g" -i $KEYSTONE_DATA
1148 1148
     # initialize keystone with default users/endpoints
... ...
@@ -1399,18 +1402,21 @@ echo ""
1399 1399
 # If you installed the horizon on this server, then you should be able
1400 1400
 # to access the site using your browser.
1401 1401
 if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
1402
-    echo "horizon is now available at http://$HOST_IP/"
1402
+    echo "horizon is now available at http://$SERVICE_HOST/"
1403 1403
 fi
1404 1404
 
1405 1405
 # If keystone is present, you can point nova cli to this server
1406 1406
 if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
1407
-    echo "keystone is serving at http://$HOST_IP:5000/v2.0/"
1407
+    echo "keystone is serving at http://$SERVICE_HOST:5000/v2.0/"
1408 1408
     echo "examples on using novaclient command line is in exercise.sh"
1409 1409
     echo "the default users are: admin and demo"
1410 1410
     echo "the password: $ADMIN_PASSWORD"
1411 1411
 fi
1412 1412
 
1413
-# indicate how long this took to run (bash maintained variable 'SECONDS')
1413
+# Echo HOST_IP - useful for build_uec.sh, which uses dhcp to give the instance an address
1414
+echo "This is your host ip: $HOST_IP"
1415
+
1416
+# Indicate how long this took to run (bash maintained variable 'SECONDS')
1414 1417
 echo "stack.sh completed in $SECONDS seconds."
1415 1418
 
1416 1419
 ) | tee -a "$LOGFILE"