Skip to content

ci: fix arm64 QEMU block hotplug coverage - #98

Merged
fwerkor merged 2 commits into
mainfrom
fix/arm64-qemu-hotplug
Jul 12, 2026
Merged

ci: fix arm64 QEMU block hotplug coverage#98
fwerkor merged 2 commits into
mainfrom
fix/arm64-qemu-hotplug

Conversation

@fwerkor

@fwerkor fwerkor commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • add explicit PCIe root ports for arm64 QEMU block-device hotplug
  • wait for exact guest output markers before host-side device actions
  • fail on QEMU monitor errors and stale static block-device nodes
  • only emit success markers after real ArgosFS operations and content checks succeed
  • pin CapOS to the arm64 PCIe hotplug kernel fix from armsr: enable PCIe hotplug on armv8 CapOS#108

Root cause

The arm64 QEMU virt machine cannot hotplug a virtio-blk-pci device directly on pcie.0. The previous scripts ignored the monitor error, accepted static /dev/vd* nodes as proof of device presence, and could react to echoed marker commands before the guest actually executed them. CapOS also disabled CONFIG_HOTPLUG_PCI_PCIE, so devices attached through a root port were not enumerated by the guest.

Validation

  • bash -n on all changed QEMU scripts
  • shellcheck on all changed QEMU scripts
  • git diff --check
  • cargo test --workspace --all-targets — 156 passed
  • direct arm64 QEMU verification of root-port block hotplug
  • monitor helper rejects the former direct-root hotplug error
  • exact marker test rejects terminal command echo and accepts real guest output
  • pinned CapOS commit verified fetchable from a fresh repository

The full rebuilt CapOS arm64 image path is exercised by this PR CI.

@fwerkor
fwerkor merged commit 3bdf7a7 into main Jul 12, 2026
25 of 27 checks passed
@fwerkor
fwerkor deleted the fix/arm64-qemu-hotplug branch July 12, 2026 17:07
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