Browse code

Allow wget to handle Non-English output

The stack.sh has a loop to wait for keystone to start. But the output of wget tool has been globalized
which means it won't return the English word 'refused' on Non-English environment even the keystone is
not up. So the script will assume the keystone has been started and continue. The command of keystone
tenant-create always failed immediately after skipping this loop since it require keystone to be started
to authenticate. That's why you can see authentication error in the log because the tenant information
was not correctly set up.

Fix bug 978739

Change-Id: Ia4ebe6ad0f9b5a886de48a4bea7c2aebff420dad

Hua ZHANG authored on 2012/05/03 19:17:18
Showing 2 changed files
... ...
@@ -11,6 +11,7 @@ Eddie Hebert <edhebert@gmail.com>
11 11
 Eoghan Glynn <eglynn@redhat.com>
12 12
 Gabriel Hurley <gabriel@strikeawe.com>
13 13
 Hengqing Hu <hudayou@hotmail.com>
14
+Hua ZHANG <zhuadl@cn.ibm.com>
14 15
 Jake Dahn <admin@jakedahn.com>
15 16
 James E. Blair <james.blair@rackspace.com>
16 17
 Jason Cannavale <jason.cannavale@rackspace.com>
... ...
@@ -1723,7 +1723,7 @@ if is_service_enabled key; then
1723 1723
     # launch keystone and wait for it to answer before continuing
1724 1724
     screen_it key "cd $KEYSTONE_DIR && $KEYSTONE_DIR/bin/keystone-all --config-file $KEYSTONE_CONF $KEYSTONE_LOG_CONFIG -d --debug"
1725 1725
     echo "Waiting for keystone to start..."
1726
-    if ! timeout $SERVICE_TIMEOUT sh -c "while http_proxy= wget -O- $KEYSTONE_AUTH_PROTOCOL://$SERVICE_HOST:$KEYSTONE_API_PORT/v2.0/ 2>&1 | grep -q 'refused'; do sleep 1; done"; then
1726
+    if ! timeout $SERVICE_TIMEOUT sh -c "while ! http_proxy= wget -O- $KEYSTONE_AUTH_PROTOCOL://$SERVICE_HOST:$KEYSTONE_API_PORT/v2.0/ 2>&1 | grep -q '200 OK'; do sleep 1; done"; then
1727 1727
       echo "keystone did not start"
1728 1728
       exit 1
1729 1729
     fi