| ... | ... |
@@ -1967,6 +1967,19 @@ function stop_service {
|
| 1967 | 1967 |
fi |
| 1968 | 1968 |
} |
| 1969 | 1969 |
|
| 1970 |
+# Test with a finite retry loop. |
|
| 1971 |
+# |
|
| 1972 |
+function test_with_retry {
|
|
| 1973 |
+ local testcmd=$1 |
|
| 1974 |
+ local failmsg=$2 |
|
| 1975 |
+ local until=${3:-10}
|
|
| 1976 |
+ local sleep=${4:-0.5}
|
|
| 1977 |
+ |
|
| 1978 |
+ if ! timeout $until sh -c "while ! $testcmd; do sleep $sleep; done"; then |
|
| 1979 |
+ die $LINENO "$failmsg" |
|
| 1980 |
+ fi |
|
| 1981 |
+} |
|
| 1982 |
+ |
|
| 1970 | 1983 |
|
| 1971 | 1984 |
# Restore xtrace |
| 1972 | 1985 |
$XTRACE |
| ... | ... |
@@ -696,9 +696,10 @@ function start_neutron_service_and_check {
|
| 696 | 696 |
if is_ssl_enabled_service "neutron"; then |
| 697 | 697 |
ssl_ca="--ca-certificate=${SSL_BUNDLE_FILE}"
|
| 698 | 698 |
fi |
| 699 |
- if ! timeout $SERVICE_TIMEOUT sh -c "while ! wget ${ssl_ca} --no-proxy -q -O- $service_protocol://$Q_HOST:$service_port; do sleep 1; done"; then
|
|
| 700 |
- die $LINENO "Neutron did not start" |
|
| 701 |
- fi |
|
| 699 |
+ |
|
| 700 |
+ local testcmd="wget ${ssl_ca} --no-proxy -q -O- $service_protocol://$Q_HOST:$service_port"
|
|
| 701 |
+ test_with_retry "$testcmd" "Neutron did not start" $SERVICE_TIMEOUT |
|
| 702 |
+ |
|
| 702 | 703 |
# Start proxy if enabled |
| 703 | 704 |
if is_service_enabled tls-proxy; then |
| 704 | 705 |
start_tls_proxy '*' $Q_PORT $Q_HOST $Q_PORT_INT & |
| ... | ... |
@@ -1380,9 +1381,8 @@ function _ssh_check_neutron {
|
| 1380 | 1380 |
local timeout_sec=$5 |
| 1381 | 1381 |
local probe_cmd = "" |
| 1382 | 1382 |
probe_cmd=`_get_probe_cmd_prefix $from_net` |
| 1383 |
- if ! timeout $timeout_sec sh -c "while ! $probe_cmd ssh -o StrictHostKeyChecking=no -i $key_file ${user}@$ip echo success; do sleep 1; done"; then
|
|
| 1384 |
- die $LINENO "server didn't become ssh-able!" |
|
| 1385 |
- fi |
|
| 1383 |
+ local testcmd="$probe_cmd ssh -o StrictHostKeyChecking=no -i $key_file ${user}@$ip echo success"
|
|
| 1384 |
+ test_with_retry "$testcmd" "server $ip didn't become ssh-able" $timeout_sec |
|
| 1386 | 1385 |
} |
| 1387 | 1386 |
|
| 1388 | 1387 |
# Neutron 3rd party programs |