[PATCH RFCv2 0/5] qemu: Handle deprecation of '-no-acpi'
by Peter Krempa
This new version doesn't bother looking for properties of -machine but
uses data added to output of 'query-machines' to do proper decision when
to use -machine acpi and also adds validation.
Required qemu patch:
https://lists.gnu.org/archive/html/qemu-devel/2023-02/msg08486.html
Peter Krempa (5):
qemu: capabilities: Refactor XML parsing in virQEMUCapsLoadMachines
qemu: capabilities: Extract whether machine type supports ACPI
qemu: capabilities: Introduce virQEMUCapsMachineSupportsACPI
XXX: tests: qemucapabilitiesdata: Regenerate with support for 'acpi'
in 'query-machines'
qemu: Use '-machine acpi=on/off' instead of deprecated '-no-acpi'
src/qemu/qemu_capabilities.c | 83 +--
src/qemu/qemu_capabilities.h | 3 +
src/qemu/qemu_capspriv.h | 3 +-
src/qemu/qemu_command.c | 42 +-
src/qemu/qemu_monitor.h | 1 +
src/qemu/qemu_monitor_json.c | 12 +
src/qemu/qemu_validate.c | 8 +
.../caps_8.0.0.x86_64.replies | 471 ++++++++++++------
.../caps_8.0.0.x86_64.xml | 242 ++++-----
.../audio-alsa-best.x86_64-latest.args | 3 +-
.../audio-alsa-full.x86_64-latest.args | 3 +-
.../audio-alsa-minimal.x86_64-latest.args | 3 +-
.../audio-coreaudio-best.x86_64-latest.args | 3 +-
.../audio-coreaudio-full.x86_64-latest.args | 3 +-
...audio-coreaudio-minimal.x86_64-latest.args | 3 +-
...udio-default-nographics.x86_64-latest.args | 3 +-
.../audio-default-sdl.x86_64-latest.args | 3 +-
.../audio-default-spice.x86_64-latest.args | 3 +-
.../audio-default-vnc.x86_64-latest.args | 3 +-
.../audio-file-best.x86_64-latest.args | 3 +-
.../audio-file-full.x86_64-latest.args | 3 +-
.../audio-file-minimal.x86_64-latest.args | 3 +-
.../audio-jack-full.x86_64-latest.args | 3 +-
.../audio-jack-minimal.x86_64-latest.args | 3 +-
.../audio-many-backends.x86_64-latest.args | 3 +-
.../audio-none-best.x86_64-latest.args | 3 +-
.../audio-none-full.x86_64-latest.args | 3 +-
.../audio-none-minimal.x86_64-latest.args | 3 +-
.../audio-oss-best.x86_64-latest.args | 3 +-
.../audio-oss-full.x86_64-latest.args | 3 +-
.../audio-oss-minimal.x86_64-latest.args | 3 +-
.../audio-pulseaudio-best.x86_64-latest.args | 3 +-
.../audio-pulseaudio-full.x86_64-latest.args | 3 +-
...udio-pulseaudio-minimal.x86_64-latest.args | 3 +-
.../audio-sdl-best.x86_64-latest.args | 3 +-
.../audio-sdl-full.x86_64-latest.args | 3 +-
.../audio-sdl-minimal.x86_64-latest.args | 3 +-
.../audio-spice-best.x86_64-latest.args | 3 +-
.../audio-spice-full.x86_64-latest.args | 3 +-
.../audio-spice-minimal.x86_64-latest.args | 3 +-
.../blkdeviotune-group-num.x86_64-latest.args | 3 +-
...blkdeviotune-max-length.x86_64-latest.args | 3 +-
.../blkdeviotune-max.x86_64-latest.args | 3 +-
.../blkdeviotune.x86_64-latest.args | 3 +-
.../boot-cdrom.x86_64-latest.args | 3 +-
.../boot-complex.x86_64-latest.args | 3 +-
.../boot-floppy-q35.x86_64-latest.args | 3 +-
.../boot-floppy.x86_64-latest.args | 3 +-
...boot-menu-disable-drive.x86_64-latest.args | 3 +-
.../boot-menu-disable.x86_64-latest.args | 3 +-
...enu-enable-with-timeout.x86_64-latest.args | 3 +-
.../boot-menu-enable.x86_64-latest.args | 3 +-
.../boot-multi.x86_64-latest.args | 3 +-
.../boot-network.x86_64-latest.args | 3 +-
.../boot-order.x86_64-latest.args | 3 +-
...l-qemu-vdagent-features.x86_64-latest.args | 3 +-
.../channel-qemu-vdagent.x86_64-latest.args | 3 +-
.../channel-unix-guestfwd.x86_64-latest.args | 3 +-
.../clock-absolute.x86_64-latest.args | 3 +-
.../console-compat-auto.x86_64-latest.args | 3 +-
.../console-compat-chardev.x86_64-latest.args | 3 +-
.../console-compat.x86_64-latest.args | 3 +-
.../console-virtio-unix.x86_64-latest.args | 3 +-
.../controller-usb-order.x86_64-latest.args | 3 +-
.../controller-virtio-scsi.x86_64-latest.args | 3 +-
...-Icelake-Server-pconfig.x86_64-latest.args | 3 +-
.../cpu-eoi-disabled.x86_64-latest.args | 2 +-
.../cpu-eoi-enabled.x86_64-latest.args | 2 +-
.../cpu-host-model.x86_64-latest.args | 3 +-
.../cpu-translation.x86_64-latest.args | 3 +-
.../cputune-cpuset-big-id.x86_64-latest.args | 3 +-
.../crypto-builtin.x86_64-latest.args | 3 +-
.../devices-acpi-index.x86_64-latest.args | 2 +-
.../disk-aio-io_uring.x86_64-latest.args | 3 +-
.../disk-aio.x86_64-latest.args | 3 +-
...-backing-chains-noindex.x86_64-latest.args | 3 +-
.../disk-blockio.x86_64-latest.args | 3 +-
.../disk-boot-cdrom.x86_64-latest.args | 3 +-
.../disk-boot-disk.x86_64-latest.args | 3 +-
.../disk-cache.x86_64-latest.args | 3 +-
.../disk-cdrom-bus-other.x86_64-latest.args | 3 +-
...m-empty-network-invalid.x86_64-latest.args | 3 +-
.../disk-cdrom-network.x86_64-latest.args | 2 +-
.../disk-cdrom-tray.x86_64-latest.args | 3 +-
.../disk-cdrom.x86_64-latest.args | 3 +-
.../disk-copy_on_read.x86_64-latest.args | 3 +-
.../disk-detect-zeroes.x86_64-latest.args | 3 +-
.../disk-discard.x86_64-latest.args | 3 +-
.../disk-error-policy.x86_64-latest.args | 3 +-
.../disk-floppy-q35.x86_64-latest.args | 3 +-
.../disk-floppy-tray.x86_64-latest.args | 3 +-
.../disk-floppy.x86_64-latest.args | 3 +-
.../disk-fmt-qcow.x86_64-latest.args | 3 +-
.../disk-geometry.x86_64-latest.args | 3 +-
.../disk-ide-split.x86_64-latest.args | 3 +-
.../disk-ide-wwn.x86_64-latest.args | 3 +-
.../disk-ioeventfd.x86_64-latest.args | 3 +-
.../disk-metadata-cache.x86_64-latest.args | 3 +-
.../disk-network-gluster.x86_64-latest.args | 3 +-
.../disk-network-http.x86_64-latest.args | 3 +-
.../disk-network-iscsi.x86_64-latest.args | 3 +-
.../disk-network-nbd.x86_64-latest.args | 3 +-
.../disk-network-nfs.x86_64-latest.args | 3 +-
...-network-rbd-encryption.x86_64-latest.args | 3 +-
...sk-network-rbd-no-colon.x86_64-latest.args | 3 +-
.../disk-network-rbd.x86_64-latest.args | 3 +-
...isk-network-source-auth.x86_64-latest.args | 3 +-
...rk-tlsx509-nbd-hostname.x86_64-latest.args | 3 +-
...isk-network-tlsx509-nbd.x86_64-latest.args | 3 +-
.../disk-no-boot.x86_64-latest.args | 3 +-
.../disk-nvme.x86_64-latest.args | 3 +-
.../disk-order.x86_64-latest.args | 3 +-
.../disk-readonly-disk.x86_64-latest.args | 3 +-
.../disk-rotation.x86_64-latest.args | 3 +-
.../disk-sata-device.x86_64-latest.args | 3 +-
.../disk-scsi-device-auto.x86_64-latest.args | 3 +-
.../disk-scsi-disk-split.x86_64-latest.args | 3 +-
.../disk-scsi-disk-vpd.x86_64-latest.args | 3 +-
.../disk-scsi-disk-wwn.x86_64-latest.args | 3 +-
...sk-scsi-lun-passthrough.x86_64-latest.args | 3 +-
.../disk-scsi.x86_64-latest.args | 3 +-
.../disk-serial.x86_64-latest.args | 3 +-
.../disk-shared.x86_64-latest.args | 3 +-
.../disk-slices.x86_64-latest.args | 3 +-
.../disk-snapshot.x86_64-latest.args | 3 +-
.../disk-source-fd.x86_64-latest.args | 3 +-
.../disk-source-pool-mode.x86_64-latest.args | 3 +-
.../disk-source-pool.x86_64-latest.args | 3 +-
.../disk-transient.x86_64-latest.args | 3 +-
...sk-usb-device-removable.x86_64-latest.args | 3 +-
.../disk-usb-device.x86_64-latest.args | 3 +-
.../disk-vhostuser-numa.x86_64-latest.args | 3 +-
.../disk-vhostuser.x86_64-latest.args | 3 +-
.../disk-virtio-queues.x86_64-latest.args | 3 +-
...irtio-scsi-reservations.x86_64-latest.args | 3 +-
.../disk-virtio.x86_64-latest.args | 3 +-
.../encrypted-disk-usage.x86_64-latest.args | 3 +-
.../encrypted-disk.x86_64-latest.args | 3 +-
.../eoi-disabled.x86_64-latest.args | 2 +-
.../eoi-enabled.x86_64-latest.args | 2 +-
.../event_idx.x86_64-latest.args | 3 +-
...d-memory-numa-topology4.x86_64-latest.args | 3 +-
.../fips-enabled.x86_64-latest.args | 3 +-
...are-auto-bios-stateless.x86_64-latest.args | 2 +-
.../firmware-auto-bios.x86_64-latest.args | 2 +-
...-auto-efi-enrolled-keys.x86_64-latest.args | 2 +-
...-auto-efi-loader-secure.x86_64-latest.args | 2 +-
...to-efi-no-enrolled-keys.x86_64-latest.args | 2 +-
...are-auto-efi-no-secboot.x86_64-latest.args | 2 +-
...firmware-auto-efi-nvram.x86_64-latest.args | 2 +-
...rmware-auto-efi-secboot.x86_64-latest.args | 2 +-
...ware-auto-efi-stateless.x86_64-latest.args | 2 +-
.../firmware-auto-efi.x86_64-latest.args | 2 +-
...manual-bios-rw-implicit.x86_64-latest.args | 2 +-
...firmware-manual-bios-rw.x86_64-latest.args | 2 +-
...e-manual-efi-nvram-file.x86_64-latest.args | 2 +-
...efi-nvram-network-iscsi.x86_64-latest.args | 2 +-
...l-efi-nvram-network-nbd.x86_64-latest.args | 2 +-
...nual-efi-nvram-template.x86_64-latest.args | 2 +-
...re-manual-efi-stateless.x86_64-latest.args | 2 +-
.../floppy-drive-fat.x86_64-latest.args | 3 +-
.../qemuxml2argvdata/fs9p.x86_64-latest.args | 3 +-
.../genid-auto.x86_64-latest.args | 2 +-
.../qemuxml2argvdata/genid.x86_64-latest.args | 2 +-
...egl-headless-rendernode.x86_64-latest.args | 3 +-
.../graphics-egl-headless.x86_64-latest.args | 3 +-
...s-spice-agent-file-xfer.x86_64-latest.args | 3 +-
...aphics-spice-agentmouse.x86_64-latest.args | 3 +-
...s-spice-auto-socket-cfg.x86_64-latest.args | 3 +-
...phics-spice-auto-socket.x86_64-latest.args | 3 +-
...phics-spice-compression.x86_64-latest.args | 3 +-
...hics-spice-egl-headless.x86_64-latest.args | 3 +-
...pice-gl-auto-rendernode.x86_64-latest.args | 3 +-
.../graphics-spice-no-args.x86_64-latest.args | 3 +-
.../graphics-spice-qxl-vga.x86_64-latest.args | 3 +-
.../graphics-spice-sasl.x86_64-latest.args | 3 +-
.../graphics-spice-socket.x86_64-latest.args | 3 +-
.../graphics-spice-timeout.x86_64-latest.args | 2 +-
...raphics-spice-usb-redir.x86_64-latest.args | 3 +-
.../graphics-spice.x86_64-latest.args | 3 +-
...ics-vnc-auto-socket-cfg.x86_64-latest.args | 3 +-
...raphics-vnc-auto-socket.x86_64-latest.args | 3 +-
...aphics-vnc-egl-headless.x86_64-latest.args | 3 +-
...hics-vnc-no-listen-attr.x86_64-latest.args | 3 +-
.../graphics-vnc-none.x86_64-latest.args | 3 +-
.../graphics-vnc-policy.x86_64-latest.args | 3 +-
.../graphics-vnc-power.x86_64-latest.args | 3 +-
...remove-generated-socket.x86_64-latest.args | 3 +-
.../graphics-vnc-sasl.x86_64-latest.args | 3 +-
...-vnc-socket-new-cmdline.x86_64-latest.args | 3 +-
.../graphics-vnc-socket.x86_64-latest.args | 3 +-
...graphics-vnc-tls-secret.x86_64-latest.args | 3 +-
.../graphics-vnc-tls.x86_64-latest.args | 3 +-
.../graphics-vnc-websocket.x86_64-latest.args | 3 +-
.../graphics-vnc.x86_64-latest.args | 3 +-
...tdev-mdev-display-ramfb.x86_64-latest.args | 3 +-
...play-spice-egl-headless.x86_64-latest.args | 3 +-
...ev-display-spice-opengl.x86_64-latest.args | 3 +-
...isplay-vnc-egl-headless.x86_64-latest.args | 3 +-
...ostdev-mdev-display-vnc.x86_64-latest.args | 3 +-
...tdev-pci-address-device.x86_64-latest.args | 3 +-
.../hostdev-pci-address.x86_64-latest.args | 3 +-
.../hostdev-scsi-lsi.x86_64-latest.args | 3 +-
...ev-scsi-vhost-scsi-pcie.x86_64-latest.args | 3 +-
...ostdev-scsi-virtio-scsi.x86_64-latest.args | 3 +-
...usb-address-device-boot.x86_64-latest.args | 3 +-
...tdev-usb-address-device.x86_64-latest.args | 3 +-
.../hostdev-usb-address.x86_64-latest.args | 3 +-
.../hugepages-default-2M.x86_64-latest.args | 3 +-
...ges-default-system-size.x86_64-latest.args | 3 +-
.../hugepages-default.x86_64-latest.args | 3 +-
.../hugepages-memaccess.x86_64-latest.args | 3 +-
.../hugepages-memaccess2.x86_64-latest.args | 3 +-
.../hugepages-memaccess3.x86_64-latest.args | 3 +-
.../hugepages-nodeset.x86_64-latest.args | 3 +-
...gepages-numa-default-2M.x86_64-latest.args | 3 +-
...pages-numa-default-dimm.x86_64-latest.args | 3 +-
.../hugepages-numa-default.x86_64-latest.args | 3 +-
...pages-numa-nodeset-part.x86_64-latest.args | 3 +-
.../hugepages-numa-nodeset.x86_64-latest.args | 3 +-
.../hugepages-nvdimm.x86_64-latest.args | 3 +-
.../hugepages-shared.x86_64-latest.args | 3 +-
.../hyperv-off.x86_64-latest.args | 2 +-
.../hyperv-panic.x86_64-latest.args | 2 +-
.../hyperv-passthrough.x86_64-latest.args | 2 +-
.../hyperv-stimer-direct.x86_64-latest.args | 2 +-
.../hyperv.x86_64-latest.args | 2 +-
.../input-linux.x86_64-latest.args | 3 +-
.../intel-iommu-aw-bits.x86_64-latest.args | 3 +-
...ntel-iommu-caching-mode.x86_64-latest.args | 3 +-
...ntel-iommu-device-iotlb.x86_64-latest.args | 3 +-
.../intel-iommu-eim.x86_64-latest.args | 3 +-
.../intel-iommu.x86_64-latest.args | 3 +-
...othreads-ids-pool-sizes.x86_64-latest.args | 3 +-
...threads-virtio-scsi-pci.x86_64-latest.args | 3 +-
.../kvmclock+eoi-disabled.x86_64-latest.args | 2 +-
...nch-security-sev-direct.x86_64-latest.args | 3 +-
...luks-disks-source-qcow2.x86_64-latest.args | 3 +-
.../luks-disks-source.x86_64-latest.args | 3 +-
.../luks-disks.x86_64-latest.args | 3 +-
.../machine-smm-off.x86_64-latest.args | 3 +-
.../machine-smm-on.x86_64-latest.args | 3 +-
...memory-default-hugepage.x86_64-latest.args | 3 +-
.../memfd-memory-numa.x86_64-latest.args | 3 +-
...emory-hotplug-dimm-addr.x86_64-latest.args | 3 +-
...y-hotplug-nvdimm-access.x86_64-latest.args | 3 +-
...ry-hotplug-nvdimm-align.x86_64-latest.args | 3 +-
...ry-hotplug-nvdimm-label.x86_64-latest.args | 3 +-
...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 3 +-
...hotplug-nvdimm-readonly.x86_64-latest.args | 3 +-
.../memory-hotplug-nvdimm.x86_64-latest.args | 3 +-
...mory-hotplug-virtio-mem.x86_64-latest.args | 3 +-
...ory-hotplug-virtio-pmem.x86_64-latest.args | 3 +-
.../misc-no-reboot.x86_64-latest.args | 3 +-
.../mlock-off.x86_64-latest.args | 3 +-
.../mlock-on.x86_64-latest.args | 3 +-
.../name-escape.x86_64-latest.args | 3 +-
.../net-user-passt.x86_64-latest.args | 3 +-
.../net-user.x86_64-latest.args | 3 +-
.../net-vdpa-multiqueue.x86_64-latest.args | 3 +-
.../net-vdpa.x86_64-latest.args | 3 +-
.../net-vhostuser.x86_64-latest.args | 3 +-
.../net-virtio-rss.x86_64-latest.args | 3 +-
.../numatune-hmat.x86_64-latest.args | 2 +-
...emnode-restrictive-mode.x86_64-latest.args | 3 +-
.../numatune-memnode.x86_64-latest.args | 3 +-
.../numatune-system-memory.x86_64-latest.args | 3 +-
.../pages-dimm-discard.x86_64-latest.args | 3 +-
...pages-discard-hugepages.x86_64-latest.args | 3 +-
.../pages-discard.x86_64-latest.args | 3 +-
.../panic-double.x86_64-latest.args | 2 +-
.../panic-no-address.x86_64-latest.args | 3 +-
.../qemuxml2argvdata/panic.x86_64-latest.args | 3 +-
...arallel-parport-chardev.x86_64-latest.args | 3 +-
.../parallel-tcp-chardev.x86_64-latest.args | 3 +-
.../parallel-unix-chardev.x86_64-latest.args | 3 +-
...pi-root-hotplug-disable.x86_64-latest.args | 3 +-
...cpi-root-hotplug-enable.x86_64-latest.args | 3 +-
.../pci-serial-dev-chardev.x86_64-latest.args | 3 +-
...cie-root-port-nohotplug.x86_64-latest.args | 3 +-
.../pv-spinlock-disabled.x86_64-latest.args | 2 +-
.../pv-spinlock-enabled.x86_64-latest.args | 2 +-
.../pvpanic-pci-x86_64.x86_64-latest.args | 3 +-
...35-default-devices-only.x86_64-latest.args | 3 +-
.../q35-multifunction.x86_64-latest.args | 3 +-
.../q35-pcie-autoadd.x86_64-latest.args | 3 +-
.../q35-pcie.x86_64-latest.args | 3 +-
.../q35-virt-manager-basic.x86_64-latest.args | 2 +-
.../qemu-ns.x86_64-latest.args | 3 +-
.../serial-debugcon.x86_64-latest.args | 3 +-
...rial-dev-chardev-iobase.x86_64-latest.args | 3 +-
.../serial-dev-chardev.x86_64-latest.args | 3 +-
.../serial-file-chardev.x86_64-latest.args | 3 +-
.../serial-file-log.x86_64-latest.args | 3 +-
.../serial-many-chardev.x86_64-latest.args | 3 +-
.../serial-pty-chardev.x86_64-latest.args | 3 +-
.../serial-spiceport.x86_64-latest.args | 3 +-
.../serial-tcp-chardev.x86_64-latest.args | 3 +-
...rial-tcp-telnet-chardev.x86_64-latest.args | 3 +-
...p-tlsx509-chardev-notls.x86_64-latest.args | 3 +-
...-tlsx509-chardev-verify.x86_64-latest.args | 3 +-
...ial-tcp-tlsx509-chardev.x86_64-latest.args | 3 +-
...-tlsx509-secret-chardev.x86_64-latest.args | 3 +-
.../serial-udp-chardev.x86_64-latest.args | 3 +-
.../serial-unix-chardev.x86_64-latest.args | 3 +-
.../serial-vc-chardev.x86_64-latest.args | 3 +-
...rtcard-passthrough-unix.x86_64-latest.args | 3 +-
.../tpm-emulator-tpm2-enc.x86_64-latest.args | 2 +-
...pm-emulator-tpm2-pstate.x86_64-latest.args | 2 +-
.../tpm-emulator-tpm2.x86_64-latest.args | 2 +-
.../tpm-emulator.x86_64-latest.args | 2 +-
.../tpm-external.x86_64-latest.args | 2 +-
.../tpm-passthrough-crb.x86_64-latest.args | 2 +-
.../tpm-passthrough.x86_64-latest.args | 2 +-
.../tseg-explicit-size.x86_64-latest.args | 3 +-
.../usb-redir-unix.x86_64-latest.args | 3 +-
.../user-aliases-usb.x86_64-latest.args | 2 +-
.../user-aliases.x86_64-latest.args | 2 +-
.../user-aliases2.x86_64-latest.args | 3 +-
...vhost-user-fs-fd-memory.x86_64-latest.args | 3 +-
...vhost-user-fs-hugepages.x86_64-latest.args | 2 +-
...host-user-gpu-secondary.x86_64-latest.args | 3 +-
.../vhost-user-vga.x86_64-latest.args | 3 +-
.../vhost-vsock-auto.x86_64-latest.args | 3 +-
.../vhost-vsock.x86_64-latest.args | 3 +-
...eo-bochs-display-device.x86_64-latest.args | 3 +-
...video-qxl-device-vram64.x86_64-latest.args | 3 +-
...o-qxl-sec-device-vram64.x86_64-latest.args | 3 +-
...eo-ramfb-display-device.x86_64-latest.args | 3 +-
...video-virtio-vga-gpu-gl.x86_64-latest.args | 3 +-
.../virtio-9p-createmode.x86_64-latest.args | 3 +-
.../virtio-9p-multidevs.x86_64-latest.args | 3 +-
.../virtio-iommu-x86_64.x86_64-latest.args | 2 +-
.../virtio-lun.x86_64-latest.args | 3 +-
...virtio-non-transitional.x86_64-latest.args | 3 +-
...-options-controller-ats.x86_64-latest.args | 3 +-
...ptions-controller-iommu.x86_64-latest.args | 3 +-
...tions-controller-packed.x86_64-latest.args | 3 +-
...virtio-options-disk-ats.x86_64-latest.args | 3 +-
...rtio-options-disk-iommu.x86_64-latest.args | 3 +-
...tio-options-disk-packed.x86_64-latest.args | 3 +-
.../virtio-options-fs-ats.x86_64-latest.args | 3 +-
...virtio-options-fs-iommu.x86_64-latest.args | 3 +-
...irtio-options-fs-packed.x86_64-latest.args | 3 +-
...irtio-options-input-ats.x86_64-latest.args | 3 +-
...tio-options-input-iommu.x86_64-latest.args | 3 +-
...io-options-input-packed.x86_64-latest.args | 3 +-
...-options-memballoon-ats.x86_64-latest.args | 3 +-
...loon-freepage-reporting.x86_64-latest.args | 3 +-
...ptions-memballoon-iommu.x86_64-latest.args | 3 +-
...tions-memballoon-packed.x86_64-latest.args | 3 +-
.../virtio-options-net-ats.x86_64-latest.args | 3 +-
...irtio-options-net-iommu.x86_64-latest.args | 3 +-
...rtio-options-net-packed.x86_64-latest.args | 3 +-
.../virtio-options-rng-ats.x86_64-latest.args | 3 +-
...irtio-options-rng-iommu.x86_64-latest.args | 3 +-
...rtio-options-rng-packed.x86_64-latest.args | 3 +-
...irtio-options-video-ats.x86_64-latest.args | 3 +-
...tio-options-video-iommu.x86_64-latest.args | 3 +-
...io-options-video-packed.x86_64-latest.args | 3 +-
.../virtio-options.x86_64-latest.args | 3 +-
.../virtio-rng-builtin.x86_64-latest.args | 3 +-
.../virtio-rng-egd-unix.x86_64-latest.args | 3 +-
.../virtio-transitional.x86_64-latest.args | 3 +-
.../watchdog-device.x86_64-latest.args | 3 +-
.../watchdog-dump.x86_64-latest.args | 3 +-
.../watchdog-injectnmi.x86_64-latest.args | 3 +-
.../watchdog-q35-multiple.x86_64-latest.args | 3 +-
.../watchdog.x86_64-latest.args | 3 +-
.../x86-kvm-32-on-64.x86_64-latest.args | 3 +-
...-default-cpu-kvm-pc-4.2.x86_64-latest.args | 2 +-
...default-cpu-kvm-q35-4.2.x86_64-latest.args | 2 +-
...efault-cpu-tcg-features.x86_64-latest.args | 2 +-
...-default-cpu-tcg-pc-4.2.x86_64-latest.args | 2 +-
...default-cpu-tcg-q35-4.2.x86_64-latest.args | 2 +-
.../x86_64-pc-graphics.x86_64-latest.args | 2 +-
.../x86_64-pc-headless.x86_64-latest.args | 2 +-
.../x86_64-q35-graphics.x86_64-latest.args | 2 +-
.../x86_64-q35-headless.x86_64-latest.args | 2 +-
tests/testutilsqemu.c | 9 +-
380 files changed, 928 insertions(+), 999 deletions(-)
--
2.39.2
1 year, 8 months
[PATCH 0/4] qemu: log spamming fixes
by Peter Krempa
While going through oVirt logs I found that libvirt totally spams logs
in certain cases.
Peter Krempa (4):
qemu: agent: Make fetching of 'can-offline' member from
'guest-query-vcpus' optional
conf: domain: Add comment for 'virDomainObjTaint'
qemu: domain: Fix logic when tainting domain
qemu: domain: Unexport qemuDomainObjTaintMsg
src/conf/domain_conf.c | 13 +++++++++++--
src/qemu/qemu_agent.c | 8 ++------
src/qemu/qemu_domain.c | 32 +++++++++++++++++---------------
src/qemu/qemu_domain.h | 7 -------
4 files changed, 30 insertions(+), 30 deletions(-)
--
2.39.2
1 year, 8 months
[libvirt PATCH 0/4] tests: Improve fakerootdir handling
by Andrea Bolognani
I'd be open to squash patches 2 and 3 together, if that's
considered preferable by the reviewer.
Andrea Bolognani (4):
tests: Introduce helpers for fakerootdir handling
tests: Adopt fakerootdir helpers
tests: Move fakerootdir handling to common logic
tests: Print fakerootdir when it's preserved
tests/qemuhotplugtest.c | 15 ---------------
tests/qemumemlocktest.c | 15 ---------------
tests/qemustatusxml2xmltest.c | 15 ---------------
tests/qemuxml2argvtest.c | 15 ---------------
tests/qemuxml2xmltest.c | 16 ----------------
tests/scsihosttest.c | 14 +++-----------
tests/testutils.c | 34 ++++++++++++++++++++++++++++++++++
tests/testutils.h | 3 +++
tests/vircgrouptest.c | 18 ++++--------------
tests/virhostdevtest.c | 16 ----------------
tests/virpcitest.c | 15 ---------------
11 files changed, 44 insertions(+), 132 deletions(-)
--
2.39.2
1 year, 8 months
[PATCH] qemu: Align arguments correctly
by Andrea Bolognani
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed as trivial.
src/qemu/qemu_conf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 16d52cbbd4..a831783d75 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -98,7 +98,7 @@ VIR_ONCE_GLOBAL_INIT(virQEMUConfig);
virQEMUDriverConfig *virQEMUDriverConfigNew(bool privileged,
- const char *root)
+ const char *root)
{
g_autoptr(virQEMUDriverConfig) cfg = NULL;
--
2.39.2
1 year, 8 months
[PATCH] ci: Regenerate gitlab CI config with latest lcitool
by Peter Krempa
The latest 'lcitool' now generates the CI config in a way which
allows users to kick off pipelines with the upstream projects container
environment rather than building a throwaway updated environment each
time and enables a gitlab feature to time individual script lines.
Pull it into libvirt.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
ci/gitlab.yml | 7 +++++++
ci/gitlab/build-templates.yml | 31 ++++++++++++++++++++++++++++++-
ci/gitlab/sanity-checks.yml | 4 +++-
3 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/ci/gitlab.yml b/ci/gitlab.yml
index 3866dcf545..7bb68b848c 100644
--- a/ci/gitlab.yml
+++ b/ci/gitlab.yml
@@ -14,6 +14,12 @@
# created/updated. Setting this variable to a non-empty
# value allows CI testing prior to opening a merge request.
#
+# - RUN_PIPELINE_UPSTREAM_ENV - same semantics as RUN_PIPELINE,
+# but uses the CI environment (containers) from the upstream project
+# rather than creating and updating a throwaway environment
+# Should not be used if the pushed branch includes CI container
+# changes.
+#
# - RUN_CONTAINER_BUILDS - CI pipelines in upstream only
# publish containers if CI file changes are detected.
# Setting this variable to a non-empty value will force
@@ -44,6 +50,7 @@
variables:
RUN_UPSTREAM_NAMESPACE: libvirt
+ FF_SCRIPT_SECTIONS: 1
workflow:
diff --git a/ci/gitlab/build-templates.yml b/ci/gitlab/build-templates.yml
index 445bfa63eb..82ddd2c650 100644
--- a/ci/gitlab/build-templates.yml
+++ b/ci/gitlab/build-templates.yml
@@ -37,6 +37,13 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: on_success
+ # forks: pushes to a branch when a pipeline run in upstream env is explicitly requested
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV && $JOB_OPTIONAL'
+ when: manual
+ allow_failure: true
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV'
+ when: on_success
+
# upstream: other web/api/scheduled pipelines targeting the default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
@@ -75,6 +82,11 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: on_success
+ # forks: avoid build in local env when job requests run in upstream containers
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV'
+ when: never
+
+ # forks: pushes to branches with pipeline requested
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL'
when: manual
allow_failure: true
@@ -151,6 +163,13 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: on_success
+ # forks: pushes to a branch when a pipeline run in upstream env is explicitly requested
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV && $JOB_OPTIONAL'
+ when: manual
+ allow_failure: true
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV'
+ when: on_success
+
# upstream: other web/api/scheduled pipelines targeting the default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
@@ -189,6 +208,11 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: on_success
+ # forks: avoid build in local env when job requests run in upstream containers
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV'
+ when: never
+
+ # forks: pushes to branches with pipeline requested
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL'
when: manual
allow_failure: true
@@ -272,12 +296,17 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push"'
when: on_success
- # forks: pushes to branches with pipeline requested
+ # forks: pushes to branches with pipeline requested (including pipeline in upstream environment)
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
when: on_success
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV && $JOB_OPTIONAL'
+ when: manual
+ allow_failure: true
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV'
+ when: on_success
# upstream+forks: Run pipelines on MR, web, api & scheduled
- if: '$CI_PIPELINE_SOURCE =~ /(web|api|schedule|merge_request_event)/ && $JOB_OPTIONAL'
diff --git a/ci/gitlab/sanity-checks.yml b/ci/gitlab/sanity-checks.yml
index 4e33b2dfe3..d2b1768e26 100644
--- a/ci/gitlab/sanity-checks.yml
+++ b/ci/gitlab/sanity-checks.yml
@@ -17,9 +17,11 @@ check-dco:
- if: '$CI_PIPELINE_SOURCE =~ "merge_request_event"'
when: on_success
- # forks: pushes to branches with pipeline requested
+ # forks: pushes to branches with pipeline requested (including upstream env pipelines)
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH && $RUN_PIPELINE'
when: on_success
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH && $RUN_PIPELINE_UPSTREAM_ENV'
+ when: on_success
# upstream+forks: that's all folks
- when: never
--
2.39.2
1 year, 8 months
Release of libvirt-9.1.0
by Jiri Denemark
The 9.1.0 release of both libvirt and libvirt-python is tagged and
signed tarballs and source RPMs are available at
https://libvirt.org/sources/
https://libvirt.org/sources/python/
Thanks everybody who helped with this release by sending patches,
reviewing, testing, or providing feedback. Your work is greatly
appreciated.
* Removed features
* vbox: removed support for version 5.2 and 6.0 APIs
Libvirt no longer supports use of VirtualBox 5.2 and 6.0 since these
versions reached their end of life on 2020/07.
* New features
* vbox: added support for version 7.0 API
Libvirt can now support use of the VirtualBox 7.0, This is compile tested
only, so we are looking for feedback from users on how well it works in
practice.
* qemu: Support crypto device
Support crypto device(virtio crypto only), also add support for QEMU with
backend ``builtin`` and ``lkcf``.
* qemu: added support for pvpanic-pci device
A pvpanic device can be now defined as a PCI device (the original is an ISA
device) with ``<panic model='pvpanic'/>``.
* qemu: support automatic restart of inadvertently terminated passt process
If the passt process that is serving as the backend of a -netdev
stream is terminated unexpectedly, libvirt now listens to QEMU's
notification of this, and starts up a new passt instance, thus
preserving network connectivity.
* Improvements
* RPM packaging changes
The ``libvirt-daemon`` subpackage is split into several new subpackages,
allowing installation of a modular daemon configuration without the
traditional monolithic libvirtd.
* Bug fixes
* QEMU: iTCO watchdog made operational
The watchdog was always included when q35 machine type was used, but needed
an extra bit of configuration in order to be operational. This is now done
by default when running a QEMU domain with q35 machine type. This is not a
change in the guest ABI, but it is a guest visible behavior change since the
watchdog that did not fire before will now fire once used. To switch to the
previous behavior the watchdog action must be set to ``none``.
* QEMU: fix deleting memory snapshot when deleting external snapshots
When external snapshot deletion was introduced it did not remove memory
snapshot when it existed. In addition when external memory only snapshot
was created libvirt failed without producing any error.
* QEMU: properly report passt startup errors
Due to how the child passt process was started, the initial
support for passt (added in 9.0.0) would not see errors
encountered during startup, so libvirt would continue to setup and
start the guest; this led to a running guest with no network
connectivity.
(NB: On systems that use them, it is still necessary to disable
SELinux/AppArmor to start passt. This is a temporary limitation,
and use of the feature in production is strongly discouraged
until it has been lifted.)
* qemu: Fix error when attempting to change media in a CDROM drive
Due to a logic bug introduced in libvirt-9.0 attempts to change media in a
CDROM would previously fail with an error stating that the tray isn't open.
* qemu: Properly handle block job transitions
Starting with libvirt-9.0 the block job state machine improperly handled
some job transitions, which resulted into some block jobs not being
properly terminated. This could cause problems such as errors when
detaching a disk after snapshot.
* virsh: Make domif-setlink work more than once
There was a bug introduced in the previous release which made ``virsh
domif-setlink`` work exactly once over given domain. The bug was fixed and
now the command can be run multiple times.
* qemu: Make domain startup fail if NIC already exists
When starting a domain with an ``<interface/>`` that's supposed to be
managed by libvirt (``managed='yes'``) but corresponding TAP device already
exists, report an error and make the startup process fail.
* qemu: Deal with nested mounts when umount()-ing /dev
When setting up private ``/dev`` for a domain (also known as ``namespaces``
in ``qemu.conf``), libvirt preserves mount points nested under ``/dev``
(e.g. ``/dev/shm``, ``/dev/pts`` and so on). But there was a bug which
resulted in inability to construct the namespace when there were two or
more filesystems mounted on the same path. This is common scenario with
containers and thus the bug was fixed.
* remote: Pass ``mode`` and ``socket`` URI parameters to virt-ssh-helper
When connecting to a remote host using SSH transport, ``?mode=`` and
``?socket=`` URI parameters were ignored. This prevented users from
connecting to a monolithic daemon running on a remote host.
* qemu: Various ``swtpm`` related fixes
There are more cleanups and small bug fixes with regards to emulated
``<tpm/>``. For instance with migration when the ``swtpm`` state is on a
shared volume, or seclabel setting/restoring.
Enjoy.
Jirka
1 year, 8 months
[PATCH] NEWS: Document my contributions for upcoming release
by Michal Privoznik
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
NEWS.rst | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 683c147af0..ab43d40f16 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -93,6 +93,39 @@ v9.1.0 (unreleased)
properly terminated. This could cause problems such as errors when
detaching a disk after snapshot.
+ * virsh: Make domif-setlink work more than once
+
+ There was a bug introduced in the previous release which made ``virsh
+ domif-setlink`` work exactly once over given domain. The bug was fixed and
+ now the command can be run multiple times.
+
+ * qemu: Make domain startup fail if NIC already exists
+
+ When starting a domain with an ``<interface/>`` that's supposed to be
+ managed by libvirt (``managed='yes'``) but corresponding TAP device already
+ exists, report an error and make the startup process fail.
+
+ * qemu: Deal with nested mounts when umount()-ing /dev
+
+ When setting up private ``/dev`` for a domain (also known as ``namespaces``
+ in ``qemu.conf``), libvirt preserves mount points nested under ``/dev``
+ (e.g. ``/dev/shm``, ``/dev/pts`` and so on). But there was a bug which
+ resulted in inability to construct the namespace when there were two or
+ more filesystems mounted on the same path. This is common scenario with
+ containers and thus the bug was fixed.
+
+ * remote: Pass ``mode`` and ``socket`` URI parameters to virt-ssh-helper
+
+ When connecting to a remote host using SSH transport, ``?mode=`` and
+ ``?socket=`` URI parameters were ignored. This prevented users from
+ connecting to a monolithic daemon running on a remote host.
+
+ * qemu: Various ``swtpm`` related fixes
+
+ There are more cleanups and small bug fixes with regards to emulated
+ ``<tpm/>``. For instance with migration when the ``swtpm`` state is on a
+ shared volume, or seclabel setting/restoring.
+
v9.0.0 (2023-01-16)
===================
--
2.39.2
1 year, 8 months
[libvirt PATCH] NEWS: Clarify limitations of passt support
by Andrea Bolognani
Let users know that we're working on lifting the limitations
and that they should not use the feature in production until
then.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
NEWS.rst | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/NEWS.rst b/NEWS.rst
index 683c147af0..b19c75ceac 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -79,7 +79,9 @@ v9.1.0 (unreleased)
connectivity.
(NB: On systems that use them, it is still necessary to disable
- SELinux/AppArmor to start passt.)
+ SELinux/AppArmor to start passt. This is a temporary limitation,
+ and use of the feature in production is strongly discouraged
+ until it has been lifted.)
* qemu: Fix error when attempting to change media in a CDROM drive
--
2.39.2
1 year, 8 months
[PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
by Thomas Huth
We're struggling quite badly with our CI minutes on the shared
gitlab runners, so we urgently need to think of ways to cut down
our supported build and target environments. qemu-system-i386 and
qemu-system-arm are not really required anymore, since nobody uses
KVM on the corresponding systems for production anymore, and the
-x86_64 and -arch64 variants are a proper superset of those binaries.
So it's time to deprecate them and the corresponding 32-bit host
environments now.
This is a follow-up patch series from the previous discussion here:
https://lore.kernel.org/qemu-devel/20230130114428.1297295-1-thuth@redhat....
where people still mentioned that there is still interest in certain
support for 32-bit host hardware. But as far as I could see, there is
no real need for 32-bit host support for system emulation on x86 and
arm anymore, so it should be fine if we drop these host environments
now (these are also the two architectures that contribute the most to
the long test times in our CI, so we would benefit a lot by dropping
those).
Thomas Huth (2):
docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
docs/about: Deprecate 32-bit arm hosts and qemu-system-arm
docs/about/deprecated.rst | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
--
2.31.1
1 year, 8 months