Skip to content

Cloud Hypervisor reboots in-process: intentional guest reboots bypass fcvm's reboot-in-place path #709

Description

@ejc3

Summary

Follow-up to the shutdown-contract fix (PR #706 / #687): fcvm's reboot-in-place handling in run_vm_loop (src/commands/podman/mod.rs:~1289) assumes the hypervisor process exits when the guest reboots (true for Firecracker: triple-fault/PSCI reset ends the process, fcvm relaunches). Cloud Hypervisor instead performs guest resets in-process (vm_reboot() logs "Rebooting." and boots the same VM again in the same process), so an intentional guest reboot under CH never reaches fcvm's relaunch logic — the guest silently boot-cycles inside the same CH process while fcvm keeps waiting in vm_manager.wait().

PR #706 removed the shutdown path from this hazard (fcvm_shutdown=acpi makes CH guests power off, which does exit the process). This issue tracks the remaining reboot path: either drive CH reboots through its API (shutdown + relaunch to converge with the Firecracker-style lifecycle), or watch for CH's reboot event via its API socket and run the reboot-in-place bookkeeping then.

Not currently test-visible: no test intentionally reboots a CH guest. Worth closing before anything relies on guest-initiated reboot semantics under --hypervisor cloud-hypervisor.

https://claude.ai/code/session_01QBekRuBULNUgUSGYmgkjyd

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions