On 6/11/26 15:32, Peter Krempa via Devel wrote:
TL;DR: We've historically made selection of the specific virtio frontend device based on qemu capabilities but didn't record the choice. Migrations break if your qemu deployment differs.
For more in-depth analysis see 16/20.
This series conists of: -- refactor of removing detected qemu capabilities via config or the QMEU namespace -- fix to capability detection if host has no qemu -- addition of testing covering various possibilities for the virtio video devices which show specifics -- addition of XML infra for the new property holding the data -- refactors of the virtio selection code -- selecting the model in post parse callbacks -- fixing of validation code -- fixing of commandline generator
Peter Krempa (20): qemu: capabilities: Apply 'capability_filters' configration option on all capabilities qemu: capabilities: Export 'virQEMUCapsNewCopy' outside of 'qemu_capspriv' qemu: Allow reuse of 'qemuProcessStartUpdateCustomCaps' qemu: validate: Validate VM config with qemuCaps influenced by <qemu:capabilities> qemu: postparse: Process VM config with qemuCaps influenced by <qemu:capabilities> virQEMUCapsCacheLookupDefault: Fix error message when no emulators are installed qemuxmlconfdata: un-symlink 'video-virtio-vga-gpu-gl' output qemuxmlconftest: Add 'video-virtio-vga' invocation with QEMU_CAPS_DEVICE_VIRTIO_VGA disabled qemuxmlconftest: Add test cases for configs asking for 'virtio-gpu-gl' or 'virtio-vga-gl' without the capability qemuxmlconftest: Add invocation of 'video-virtio-vga-gpu-gl' with missing caps and VIR_DOMAIN_DEF_PARSE_ABI_UPDATE qemustatusxml2xml: Add test case capturing virtio video device virDomainVideoDefFormat: Use 'virXMLFormatElement' instead of custom formatter conf: Add fields for recording actually-selected virtio video device qemuxmlconftest: Add test case for specifying 'virtio-gpu' where 'virtio-vga' would be picked qemuDeviceVideoGetModel: Directly return picked model qemu: postparse: Fill in selected virtio video frondend device in the XML qemuValidateDomainDeviceDefVideo: Fix checks of virtio video devices qemuDeviceVideoGetModel: Remove logic for selecting 'virtio' devices qemuDeviceVideoGetModel: Simplify by relying on checks from 'qemuValidateDomainDeviceDefVideo' qemu: Remove 'qemuDomainSupportsVideoVga'
75 files changed, 2908 insertions(+), 315 deletions(-)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal