+set -e
+
+function ping_retry() {
+ local IP_ADDR=$1
+ local TIMES=${2:-'10'}
+ local COUNT=0
+ local PING_CMD=ping
+ if [[ $IP_ADDR =~ ":" ]]; then
+ PING_CMD=ping6
+ fi
+ until [ $COUNT -ge $TIMES ]; do
+ if $PING_CMD -w 300 -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))
+ done
+ return 1
+}