fix: add sleep to vsock probe retry loop in proxy script
vsock-connect --probe returns instantly on connection refused, so the wait loop burned through all iterations in ~2s instead of 30s. Add a 0.2s sleep between attempts so the first VM launch has time to boot.
This commit is contained in:
parent
72d50a50ee
commit
efc991e2d7
1 changed files with 7 additions and 4 deletions
|
|
@ -235,17 +235,20 @@ let
|
|||
VMNAME="${vm.name}"
|
||||
PORT=5000
|
||||
TIMEOUT=30
|
||||
ELAPSED=0
|
||||
INTERVAL=0.2
|
||||
MAX_ATTEMPTS=$((TIMEOUT * 5)) # TIMEOUT / INTERVAL
|
||||
ATTEMPT=0
|
||||
|
||||
# Wait for vsock to become available
|
||||
while [ $ELAPSED -lt $TIMEOUT ]; do
|
||||
while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do
|
||||
if ${vsockConnect} --timeout 0.5 --probe "$VMNAME" "$PORT" 2>/dev/null; then
|
||||
break
|
||||
fi
|
||||
ELAPSED=$((ELAPSED + 1))
|
||||
sleep $INTERVAL
|
||||
ATTEMPT=$((ATTEMPT + 1))
|
||||
done
|
||||
|
||||
if [ $ELAPSED -ge $TIMEOUT ]; then
|
||||
if [ $ATTEMPT -ge $MAX_ATTEMPTS ]; then
|
||||
echo "Timeout waiting for VM ${vm.name} vsock:$PORT" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue