[PATCH 0/7] qemu: add async vCPU unplug coverage

Akash Kulhalli via Devel posted 7 patches 1 week, 3 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20260520112323.1484419-1-akash.kulhalli@oracle.com
[PATCH 0/7] qemu: add async vCPU unplug coverage
Posted by Akash Kulhalli via Devel 1 week, 3 days ago
This series adds qemuhotplugtest coverage for async vCPU unplug.

Async vCPU unplug does not complete at the device_del reply. The guest
CPU remains in a pending removal state until QEMU reports DEVICE_DELETED
and the QEMU driver handles the resulting process event. The new harness
support lets the tests observe that intermediate state and then complete
the unplug through the same process-event path used by the driver.

The setvcpu coverage exercises both a single-vCPU x86 hotplug entity and
a grouped ppc64 hotplug entity. These cases check the pending live XML
before completion and the final live/config XML after completion, while
also validating the expected vcpu-removed domain events.

The setvcpus coverage adds a separate count-based x86 downscale case.
This keeps the independent count-to-entity selection path covered
without duplicating the grouped-entity coverage from setvcpu.

The series also includes a small domain API cleanup to use the
vCPU-specific flag aliases consistently in the vCPU entry points. This
keeps the implementation and diagnostics aligned with the API being
handled. This is a cosmetic change only, since the underlying values are
all mapped to their equivalent enums.

While adding this coverage, I realised that virsh was being too restrictive
in its parameter combination validation; only QEMU does not support both
`--async` and `--guest`. Other drivers may wish to support this
behaviour. Accordingly, I've changed the behaviour so that virsh now
lets the drivers reject the combination if they're unsupported.
The decision now rests with the driver, which is more appropriate.

Akash Kulhalli (7):
  qemu: expose process event handler to tests
  tests: add helper for DEVICE_DELETED events
  qemuhotplugtest: support async vcpu unplug completion
  qemuhotplugtest: test setvcpu async unplug
  qemuhotplugtest: test setvcpus async downscale
  domain: use vcpu-specific flag aliases consistently
  virsh: allow async vcpu options to reach drivers

-- 
2.49.0