doctor: install the cocoonstack fork builds of cloud-hypervisor and the firmware - #215
Merged
Conversation
…he firmware The default clone/restore mode (mmap) needs CopyOnWrite memory restore, which upstream v53.0 rejects; the fork dev release (upstream main plus diff snapshots and the QCOW cluster-leak fix) has it, and the firmware fork carries the EFI ResetSystem and VMXON-lock fixes Windows guests need. --upgrade now downloads both from the cocoonstack release tags, verifies them against the published checksums, and records the build commit; ch-remote, Firecracker, the aarch64 firmware and the CNI plugins stay on upstream releases. The check pass fails a cloud-hypervisor older than v54. install.md and windows.md describe what the forks actually carry: the DISCARD and ctrl_queue fixes are upstream since v51/v52.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
cocoon-check --upgradeinstalled upstream Cloud Hypervisor v53.0, which has no CopyOnWrite memory restore. cocoon's default clone/restore mode ismmap, which maps to exactly that mode, so a doctor-provisioned host rejects every default clone with a 400 fromvm.restore. The cocoonstack forkdevrelease build (upstream main plus diff snapshots and the QCOW cluster-leak fix,cloud-hypervisor v54.0.0) has it. The firmware fork carries the EFI ResetSystem and IA32_FEATURE_CONTROL/VMXON-lock fixes that Windows guests need, and the docs already told people to use both forks by hand.What
doctor/check.sh --upgradeinstallscloud-hypervisor-<arch>from thecocoonstack/cloud-hypervisorrelease tagCH_REF(defaultdev) and, on x86_64,hypervisor-fwfrom thecocoonstack/rust-hypervisor-firmwaretagFW_REF(defaultdev). Both downloads are verified against the publishedSHA256SUMS/.sha256beforeinstall, and theFIXEDline records the build commit from the release'sbuild-info.json.CH_REMOTE_VERSION, v53.0 — the fork release ships no ch-remote asset), Firecracker (FC_VERSION, v1.16.1), the aarch64 firmware (FW_VERSION, 0.5.0 — the fork publishes x86_64 only) and the CNI plugins stay on upstream releases.cloud-hypervisorolder than v54 with the reason (no CopyOnWrite restore, default mode rejected) instead of passing a host that cannot clone.docs/install.mdanddocs/windows.mdstate what the forks actually carry today. The DISCARD and virtio-net ctrl_queue fixes the Windows page attributed to the fork are upstream (v51.0 / v52.0); the fork's own delta is diff snapshots and the QCOW fix.No cocoon code change: a CH that rejects
CopyOnWritealready fails loud (PUT vm.restore → 400: <CH body>throughutils.DoAPI), and a silent fallback tocopywould be the ~6x restore-latency regression the restore code refuses by design.Evidence
bash -n doctor/check.shclean;shellcheck -S warningreports only the pre-existing SC2034 (prefix_len, untouched).--upgraderun indebian:bookworm-slimcontainers on both architectures (COCOON_*_DIRunder/tmp, curl + libcap2-bin only):cloud-hypervisor v54.0.0815f40b) drove cocoon master on the bare-metal testbed today:vm run,vm net --nics 2,vm disk attach/detach, stop and rm all clean (cocoon-specstests/2026-09-05-fc-hotplug-mtu-parity.md).