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
This commit is contained in:
Hua ZHANG 2012-05-03 18:17:18 +08:00 committed by zhang-hare
parent 8d6638e809
commit 520a9ca556
2 changed files with 2 additions and 1 deletions

View File

@ -11,6 +11,7 @@ Eddie Hebert <edhebert@gmail.com>
Eoghan Glynn <eglynn@redhat.com>
Gabriel Hurley <gabriel@strikeawe.com>
Hengqing Hu <hudayou@hotmail.com>
Hua ZHANG <zhuadl@cn.ibm.com>
Jake Dahn <admin@jakedahn.com>
James E. Blair <james.blair@rackspace.com>
Jason Cannavale <jason.cannavale@rackspace.com>

View File

@ -1723,7 +1723,7 @@ if is_service_enabled key; then
# launch keystone and wait for it to answer before continuing
screen_it key "cd $KEYSTONE_DIR && $KEYSTONE_DIR/bin/keystone-all --config-file $KEYSTONE_CONF $KEYSTONE_LOG_CONFIG -d --debug"
echo "Waiting for keystone to start..."
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
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
echo "keystone did not start"
exit 1
fi