Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: A VM having running status doesn't necessarily mean that the VM is actually running #771

Open
shayanh opened this issue Jan 30, 2024 · 1 comment
Labels
c/autoscaling/neonvm Component: autoscaling: NeonVM t/bug Issue Type: Bug

Comments

@shayanh
Copy link
Contributor

shayanh commented Jan 30, 2024

Environment

everywhere

Steps to reproduce

To make it more explicit add time.Sleep(10 * time. Second) to neonvm/runner/main.go somewhere before executing the QEMU command.

Actual result

NeonVM controller uses the runner pod's status to determine the VM's status. If the runner pod status is running and the VM's status is pending, then the controller changes the status of the VM to running. At this point, we don't necessarily know if the QEMU process has started, nor has the VM booted.

Expected result

Update the VM's status to running once is actually booted and running.

@Omrigan
Copy link
Contributor

Omrigan commented Feb 16, 2024

Copy from #811:

Implementation here depends on the definition of "VM start":

  • The process start is one reference point
  • Reaching a certain stage in the boot process is another
  • Having a signal from userspace that some parts of the system started working is the third thing

We can ping the VM, either:

  • our own service vm_monitor/comute_ctl
  • [guest-ping through QGA], but here we have to bother with running QGA inside the VM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c/autoscaling/neonvm Component: autoscaling: NeonVM t/bug Issue Type: Bug
Projects
None yet
Development

No branches or pull requests

3 participants