Skip to content

e2e: cover the firecracker rolling update - #215

Merged
Shine-neko merged 5 commits into
mainfrom
test/fc-parity-round3
Aug 3, 2026
Merged

e2e: cover the firecracker rolling update#215
Shine-neko merged 5 commits into
mainfrom
test/fc-parity-round3

Conversation

@Shine-neko

Copy link
Copy Markdown
Contributor

Firecracker gets rolling-update coverage — the last major behaviour it shared with Cloud Hypervisor but never exercised.

What was added

t15_rolling_update.sh — re-applying a manifest with health checks must take the rolling path: a second deployment row appears with parent_id pointing back at the first, the parent is eventually reaped, and exactly one microVM remains.

The parent_id machinery is runtime-agnostic, but it had never run against Firecracker, and it matters more here than on containers. A rollout boots a second microVM while the first still holds its TAP, its rootfs copy and its API socket. If the parent is not torn down once the child is up, every redeploy leaks a VM's worth of host resources — and nothing would have caught it.

Beyond CH's equivalent (t10_rolling_update), this also asserts the teardown side: that the parent row reaches deleted and that the socket count returns to one rather than staying at two.

Verification

Run locally against real microVMs. Observed: v1 boots, re-apply produces a child linked by parent_id, the parent is reaped, one VM remains, and deleting the child leaves nothing behind.

Firecracker e2e coverage: 9 → 15 across this session (#213, #214, this one).

@Shine-neko
Shine-neko merged commit 15f1349 into main Aug 3, 2026
5 checks passed
@Shine-neko
Shine-neko deleted the test/fc-parity-round3 branch August 3, 2026 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant