diff --git a/registry/scripts/upgrade_all.sh b/registry/scripts/upgrade_all.sh index cdf32243f175827d5bc851bc33cbae1ac2f2f1d5..7e2dd3796013b3e4032e7d9e9436bd18f7bdd11a 100755 --- a/registry/scripts/upgrade_all.sh +++ b/registry/scripts/upgrade_all.sh @@ -102,6 +102,23 @@ done < <($catcmd) log "Wakeonlan sent, waiting" while [ $wait_time -gt 0 ] do + if [ ! -z "$host" ] + then + leave=false + # try to skip useless wait for single upgrade + for ip in $(getips $MACS) + do + ping -c 3 $ip + if [ $? -eq 0 ] + then + leave=true + fi + done + if $leave + then + break + fi + fi log -ne "Waiting for boot, remaining $wait_time seconds\r" sleep $wait_step wait_time=$(($wait_time - $wait_step))