bootc-ubuntu-setup: Use fixed QEMU from Resolute - #53
Conversation
| trap cleanup EXIT | ||
|
|
||
| set +e | ||
| timeout --foreground --signal=TERM --kill-after=10s 90s \ |
There was a problem hiding this comment.
Hmm, this is all gross. I think what we should really do is have something like bcvk ephemeral selftest --image quay.io/centos-bootc/centos-bootc:stream9, like move some core smoke testing of functionality into the binary itself.
daa903d to
c772188
Compare
7e0c610 to
3110334
Compare
The Plucky QEMU used on Noble lacks the synchronous vhost-user notifier update needed to avoid lost virtiofs interrupts. Select Resolute's fixed emulator for virtualization jobs, including its matching iPXE ROM package so guests can actually boot. Keep this limited to Ubuntu 24.04 disposable runners: the package transaction also upgrades runtime dependencies. Exercise guest boot on the amd64 KVM runner. Since bcvk requires KVM and has no arm64 release asset, validate the installed arm64 emulator with a bounded TCG startup probe instead. Generated-by: AI Signed-off-by: Colin Walters <walters@verbum.org>
3110334 to
818ff7e
Compare
|
Ah right, I effectively bypassed the review requirement by using my bot account. Sorry about that. This is quite technically messy to handle, we'd need some database mapping between accounts. But cc e.g. @gursewak1997 for post-merge review. |
Let's have a discussion on this. Should we:
(There's many other possibilities here, like trying really hard to ensure everyone uses a shared, efficient prioritized work queue so we keep reviews moving, etc) |
|
Definitely a lot of options here. |
The QEMU selected by our Ubuntu 24.04/Plucky setup lacks the synchronous vhost-user notifier update. Investigating bootc-dev/bootc#2290 produced a controlled CentOS 9 reproducer: moving virtiofs IRQ affinity stalled the unpatched emulator, while the matched patched build completed installation. The investigation and its limitations are recorded in the debug repository.
For
libvirt: trueon Ubuntu 24.04, install the fixed QEMU from Resolute, together with its matchingipxe-qemupackage. The latter is necessary: the first packaged-emulator smoke test failed before boot because its expectedefi-virtio.romwas missing. Keep Resolute at low default apt priority and explicitly request the virtualization packages. This still upgrades their runtime dependencies, including libc, on the disposable runner; it is not a standalone executable replacement.The step is explicitly limited to Ubuntu 24.04, leaving native Ubuntu 26.04 handling in #52 separate. Non-virtualization users are unchanged.
Add a bounded amd64/arm64 smoke test using the prebuilt CentOS Stream 9 image. It launches an ephemeral VM, verifies
uname -a && trueover SSH, and retains limited diagnostics before cleanup. No bootc image build is needed. SSH avoids unrelated bcvk 0.19--executeproblems uncovered during the experiment, including a false-success result when QEMU never booted.Validation
actionlint, composite shell syntax checks, and whitespace checks passed; independent AI review covered the final diff.The new shared-action/amd64/arm64 matrix is pending this PR's CI. The full PR-2290 composefs installation and reboot tuple also still needs a fresh CI run; the smoke checks establish package integration and guest execution, not that entire test.
Generated-by: AI
Implementation and tests were AI-generated. Human review and DCO signoff are still required; no Signed-off-by was added automatically.