From 22469ca0b9073d3614782d109dedf785e7c1752d Mon Sep 17 00:00:00 2001 From: "Lance R. Vick" Date: Tue, 29 Apr 2025 19:36:58 -0700 Subject: [PATCH] feat: block netvm start until qemu responds to pings --- src/host/rootfs/usr/local/bin/netvm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/host/rootfs/usr/local/bin/netvm b/src/host/rootfs/usr/local/bin/netvm index 4c3d940..ce747c7 100755 --- a/src/host/rootfs/usr/local/bin/netvm +++ b/src/host/rootfs/usr/local/bin/netvm @@ -82,10 +82,19 @@ function cmd_start(){ -boot order=d \ -chardev socket,path=/var/run/netvm_qga.sock,server=on,wait=off,id=qga0 \ $net_args \ + -device qemu-xhci \ -device virtio-serial \ -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 & - echo $! > "${LOCKFILE}" - #TODO: Poll here for VM to come up and respond to QMP agent ping + pid=$! + echo "$pid" > "${LOCKFILE}" + until qemu_ga guest-ping; do + ps -p $pid >/dev/null || { + echo "Error: netvm exited unexpectedly"; + exit 1; + rm "${LOCKFILE}" + } + sleep 1 + done } function cmd_stop(){