Browse Source

Tolerate network errors in pingtest retry logic

We use ping -w <deadline> -c <count>. This will ping every second until
<count> replies are received, or <deadline> is reached, or a network error occurs.

With the current retry logic a network error will result in a short tight loop
instead of waiting for the network to come up.

This change reduces the deadline to 10s, but sleeps 60s between retries.

Change-Id: Ib00cff6f843c04a00737b40e3ef3d1560d6e6d2d
Related-bug: #1680167
changes/56/479256/1
Oliver Walsh 5 years ago
parent
commit
6a64a4a9d2
  1. 3
      validation-scripts/all-nodes.sh

3
validation-scripts/all-nodes.sh

@ -10,12 +10,13 @@ function ping_retry() {
PING_CMD=ping6
fi
until [ $COUNT -ge $TIMES ]; do
if $PING_CMD -w 300 -c 1 $IP_ADDR &> /dev/null; then
if $PING_CMD -w 10 -c 1 $IP_ADDR &> /dev/null; then
echo "Ping to $IP_ADDR succeeded."
return 0
fi
echo "Ping to $IP_ADDR failed. Retrying..."
COUNT=$(($COUNT + 1))
sleep 60
done
return 1
}

Loading…
Cancel
Save