diff --git a/virt-manager-installer-add-support-to-use-device-boot-order.patch b/virt-manager-installer-add-support-to-use-device-boot-order.patch new file mode 100644 index 0000000..a02464f --- /dev/null +++ b/virt-manager-installer-add-support-to-use-device-boot-order.patch @@ -0,0 +1,2563 @@ +From 3a77a3a77a7f4b3dc9f9941824ba541119151f76 Mon Sep 17 00:00:00 2001 +Message-ID: <3a77a3a77a7f4b3dc9f9941824ba541119151f76.1764872379.git.phrdina@redhat.com> +From: Pavel Hrdina +Date: Wed, 3 Dec 2025 15:42:03 +0100 +Subject: [PATCH] installer: add support to use device boot order + +From: Pavel Hrdina + +Until now installer always used legacy boot order when creating VM XML. +Device boot order is supported for long time so start using it if +possible instead of the legacy boot order. + +Signed-off-by: Pavel Hrdina +(cherry picked from commit a2baaf789cef57fbca0cd240cf14660f4169c0e6) + +https://issues.redhat.com/browse/RHEL-71842 + +Signed-off-by: Pavel Hrdina +--- + .../compare/virt-install-aarch64-cdrom.xml | 6 +++--- + .../virt-install-aarch64-cloud-init.xml | 2 +- + ...t-install-aarch64-firmware-no-override.xml | 4 ++-- + .../compare/virt-install-aarch64-kvm-gic.xml | 2 +- + .../virt-install-aarch64-kvm-import.xml | 2 +- + .../compare/virt-install-aarch64-win11.xml | 2 +- + .../data/cli/compare/virt-install-amd-sev.xml | 2 +- + .../compare/virt-install-arm-kvm-import.xml | 2 +- + .../virt-install-boot-uefi-oldcaps.xml | 2 +- + .../cli/compare/virt-install-boot-uefi.xml | 2 +- + .../virt-install-cdrom-centos-label.xml | 6 +++--- + .../cli/compare/virt-install-cdrom-double.xml | 6 +++--- + .../cli/compare/virt-install-cdrom-url.xml | 4 ++-- + .../virt-install-cloud-init-default.xml | 2 +- + .../virt-install-cloud-init-options1.xml | 2 +- + .../virt-install-cloud-init-options2.xml | 2 +- + .../virt-install-cloud-init-options3.xml | 2 +- + .../virt-install-cloud-init-options4.xml | 2 +- + .../virt-install-cloud-init-options5.xml | 2 +- + .../virt-install-cloud-init-options6.xml | 2 +- + .../compare/virt-install-f21-kvm-remote.xml | 2 +- + .../cli/compare/virt-install-fake-ftp.xml | 1 - + .../cli/compare/virt-install-fake-http.xml | 1 - + .../compare/virt-install-funny-passwords.xml | 2 +- + .../virt-install-graphics-usb-disable.xml | 2 +- + .../compare/virt-install-hvf-default-f27.xml | 2 +- + .../virt-install-hyperv_disable_vpindex.xml | 1 - + ...rv_enable_tlbflush_direct_and_extended.xml | 2 +- + ...irt-install-hyperv_enable_xmm_and_emsr.xml | 2 +- + .../virt-install-hyperv_no_domcaps.xml | 1 - + .../compare/virt-install-initrd-inject.xml | 1 - + .../cli/compare/virt-install-kvm-centos7.xml | 6 +++--- + .../virt-install-kvm-cpu-default-fallback.xml | 6 +++--- + ...irt-install-kvm-cpu-hostmodel-fallback.xml | 6 +++--- + .../virt-install-kvm-fedoralatest-url.xml | 2 +- + .../compare/virt-install-kvm-i686-uefi.xml | 1 - + .../cli/compare/virt-install-kvm-rhel5.xml | 6 +++--- + .../cli/compare/virt-install-kvm-rhel6.xml | 2 +- + .../cli/compare/virt-install-kvm-rhel7.xml | 2 +- + .../virt-install-kvm-session-defaults.xml | 6 +++--- + .../cli/compare/virt-install-kvm-win10.xml | 6 +++--- + .../compare/virt-install-kvm-win2k3-cdrom.xml | 6 +++--- + .../cli/compare/virt-install-linux2020.xml | 6 +++--- + ...rt-install-location-iso-and-cloud-init.xml | 2 +- + .../cli/compare/virt-install-location-iso.xml | 2 +- + .../virt-install-location-manual-kernel.xml | 2 +- + .../virt-install-loongarch64-cdrom.xml | 6 +++--- + .../virt-install-loongarch64-cloud-init.xml | 2 +- + .../virt-install-loongarch64-graphics.xml | 2 +- + .../virt-install-loongarch64-headless.xml | 2 +- + .../virt-install-loongarch64-unattended.xml | 2 +- + .../cli/compare/virt-install-mdev-devices.xml | 2 +- + .../compare/virt-install-memory-hotplug.xml | 6 +++--- + ...virt-install-network-install-resources.xml | 1 - + .../compare/virt-install-openbsd-defaults.xml | 2 +- + .../virt-install-os-detect-fail-fallback.xml | 4 ++-- + ...irt-install-os-detect-success-fallback.xml | 1 - + .../virt-install-osinfo-multiple-short-id.xml | 6 +++--- + ...virt-install-osinfo-netinst-unattended.xml | 2 +- + ...irt-install-osinfo-unattended-treeapis.xml | 1 - + .../virt-install-osinfo-url-unattended.xml | 1 - + .../virt-install-osinfo-url-with-disk.xml | 2 +- + .../cli/compare/virt-install-osinfo-url.xml | 1 - + .../virt-install-osinfo-win7-unattended.xml | 4 ++-- + .../virt-install-osvariant-defaults-pxe.xml | 6 +++--- + .../virt-install-ppc64le-kvm-import.xml | 2 +- + .../cli/compare/virt-install-q35-defaults.xml | 6 +++--- + .../compare/virt-install-reinstall-cdrom.xml | 2 +- + .../compare/virt-install-reinstall-pxe.xml | 4 ++-- + .../compare/virt-install-remote-storage.xml | 6 +++--- + .../compare/virt-install-riscv64-cdrom.xml | 6 +++--- + .../virt-install-riscv64-cloud-init.xml | 2 +- + .../compare/virt-install-riscv64-graphics.xml | 2 +- + .../compare/virt-install-riscv64-headless.xml | 2 +- + .../virt-install-riscv64-unattended.xml | 2 +- + .../compare/virt-install-s390x-default.xml | 1 - + .../compare/virt-install-s390x-headless.xml | 2 +- + .../cli/compare/virt-install-simple-pxe.xml | 4 ++-- + .../virt-install-singleton-config-2.xml | 6 +++--- + .../compare/virt-install-storage-creation.xml | 2 +- + .../virt-install-testdriver-edgecases.xml | 2 +- + .../virt-install-unattended-remote-cdrom.xml | 4 ++-- + .../virt-install-virtio-sound-device.xml | 2 +- + .../cli/compare/virt-install-w2k3-cdrom.xml | 6 +++--- + .../compare/virt-install-win11-no-uefi.xml | 6 +++--- + tests/data/cli/compare/virt-install-win11.xml | 6 +++--- + .../cli/compare/virt-install-win7-uefi.xml | 6 +++--- + ...ll-x86_64-launch-security-sev-snp-full.xml | 1 - + ...install-x86_64-launch-security-sev-snp.xml | 1 - + ...nstall-x86_64-launch-security-tdx-full.xml | 1 - + ...install-x86_64-launch-security-tdx-qgs.xml | 1 - + ...irt-install-x86_64-launch-security-tdx.xml | 1 - + virtinst/guest.py | 7 +++++-- + virtinst/install/installer.py | 20 +++++++++---------- + 94 files changed, 143 insertions(+), 157 deletions(-) + +diff --git a/tests/data/cli/compare/virt-install-aarch64-cdrom.xml b/tests/data/cli/compare/virt-install-aarch64-cdrom.xml +index 61352ed25..2d4e7de39 100644 +--- a/tests/data/cli/compare/virt-install-aarch64-cdrom.xml ++++ b/tests/data/cli/compare/virt-install-aarch64-cdrom.xml +@@ -13,8 +13,6 @@ + hvm + CODE.fd + +- +- + + + +@@ -29,12 +27,14 @@ + + + ++ + + + + + + ++ + + + +@@ -96,7 +96,6 @@ + hvm + CODE.fd + +- + + + +@@ -111,6 +110,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml b/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml +index 56b92612a..d3c877ec9 100644 +--- a/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml ++++ b/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml +@@ -95,7 +95,6 @@ + 2 + + hvm +- + + + +@@ -108,6 +107,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml b/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml +index 893c37502..e96fa355e 100644 +--- a/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml ++++ b/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -40,6 +39,7 @@ + + + ++ + + + +@@ -81,7 +81,6 @@ + 2 + + hvm +- + + + +@@ -110,6 +109,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml b/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml +index 1480d8d5e..24e5e82b0 100644 +--- a/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml ++++ b/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -25,6 +24,7 @@ + + + ++ + + +
+diff --git a/tests/data/cli/compare/virt-install-aarch64-kvm-import.xml b/tests/data/cli/compare/virt-install-aarch64-kvm-import.xml +index 57298f03f..686f0b5cf 100644 +--- a/tests/data/cli/compare/virt-install-aarch64-kvm-import.xml ++++ b/tests/data/cli/compare/virt-install-aarch64-kvm-import.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -24,6 +23,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-aarch64-win11.xml b/tests/data/cli/compare/virt-install-aarch64-win11.xml +index 392d452b7..75a35af6c 100644 +--- a/tests/data/cli/compare/virt-install-aarch64-win11.xml ++++ b/tests/data/cli/compare/virt-install-aarch64-win11.xml +@@ -11,7 +11,6 @@ + 1 + + hvm +- + + + +@@ -24,6 +23,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-amd-sev.xml b/tests/data/cli/compare/virt-install-amd-sev.xml +index 68b236dde..c248ffb5a 100644 +--- a/tests/data/cli/compare/virt-install-amd-sev.xml ++++ b/tests/data/cli/compare/virt-install-amd-sev.xml +@@ -12,7 +12,6 @@ + + hvm + /usr/share/OVMF/OVMF_CODE.fd +- + + + +@@ -35,6 +34,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-arm-kvm-import.xml b/tests/data/cli/compare/virt-install-arm-kvm-import.xml +index 64e6b2703..b6467860c 100644 +--- a/tests/data/cli/compare/virt-install-arm-kvm-import.xml ++++ b/tests/data/cli/compare/virt-install-arm-kvm-import.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -21,6 +20,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-boot-uefi-oldcaps.xml b/tests/data/cli/compare/virt-install-boot-uefi-oldcaps.xml +index 357f348b7..6622428d5 100644 +--- a/tests/data/cli/compare/virt-install-boot-uefi-oldcaps.xml ++++ b/tests/data/cli/compare/virt-install-boot-uefi-oldcaps.xml +@@ -7,7 +7,6 @@ + + hvm + /usr/share/edk2/ovmf/OVMF_CODE.secboot.fd +- + + + +@@ -31,6 +30,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-boot-uefi.xml b/tests/data/cli/compare/virt-install-boot-uefi.xml +index 2c23dbb9c..ad8cdfdb1 100644 +--- a/tests/data/cli/compare/virt-install-boot-uefi.xml ++++ b/tests/data/cli/compare/virt-install-boot-uefi.xml +@@ -6,7 +6,6 @@ + 1 + + hvm +- + + + +@@ -29,6 +28,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-cdrom-centos-label.xml b/tests/data/cli/compare/virt-install-cdrom-centos-label.xml +index aae263247..177d2dbe8 100644 +--- a/tests/data/cli/compare/virt-install-cdrom-centos-label.xml ++++ b/tests/data/cli/compare/virt-install-cdrom-centos-label.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -35,12 +33,14 @@ + + + ++ + + + + + + ++ + + + +@@ -91,7 +91,6 @@ + 2 + + hvm +- + + + +@@ -114,6 +113,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-cdrom-double.xml b/tests/data/cli/compare/virt-install-cdrom-double.xml +index 6b10c70b1..7a3905fad 100644 +--- a/tests/data/cli/compare/virt-install-cdrom-double.xml ++++ b/tests/data/cli/compare/virt-install-cdrom-double.xml +@@ -6,8 +6,6 @@ + 1 + + hvm +- +- + + + +@@ -22,11 +20,13 @@ + + + ++ + + + + + ++ + + + +@@ -59,7 +59,6 @@ + 1 + + hvm +- + + + +@@ -74,6 +73,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-cdrom-url.xml b/tests/data/cli/compare/virt-install-cdrom-url.xml +index 0b68d1ed9..bcfee4cbf 100644 +--- a/tests/data/cli/compare/virt-install-cdrom-url.xml ++++ b/tests/data/cli/compare/virt-install-cdrom-url.xml +@@ -6,7 +6,6 @@ + 1 + + hvm +- + + + +@@ -24,6 +23,7 @@ + + + ++ + + + +@@ -51,7 +51,6 @@ + 1 + + hvm +- + + + +@@ -66,6 +65,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-cloud-init-default.xml b/tests/data/cli/compare/virt-install-cloud-init-default.xml +index 46cff8c09..a5f6e6353 100644 +--- a/tests/data/cli/compare/virt-install-cloud-init-default.xml ++++ b/tests/data/cli/compare/virt-install-cloud-init-default.xml +@@ -94,7 +94,6 @@ + 2 + + hvm +- + + + +@@ -116,6 +115,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-cloud-init-options1.xml b/tests/data/cli/compare/virt-install-cloud-init-options1.xml +index 110730dd3..04e29dc83 100644 +--- a/tests/data/cli/compare/virt-install-cloud-init-options1.xml ++++ b/tests/data/cli/compare/virt-install-cloud-init-options1.xml +@@ -102,7 +102,6 @@ chpasswd: + + + hvm +- + + + +@@ -125,6 +124,7 @@ chpasswd: + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-cloud-init-options2.xml b/tests/data/cli/compare/virt-install-cloud-init-options2.xml +index 0baf7db4c..1125ab459 100644 +--- a/tests/data/cli/compare/virt-install-cloud-init-options2.xml ++++ b/tests/data/cli/compare/virt-install-cloud-init-options2.xml +@@ -76,7 +76,6 @@ ssh_authorized_keys: + 2 + + hvm +- + + + +@@ -92,6 +91,7 @@ ssh_authorized_keys: + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-cloud-init-options3.xml b/tests/data/cli/compare/virt-install-cloud-init-options3.xml +index 7f4c6d634..57306f0c9 100644 +--- a/tests/data/cli/compare/virt-install-cloud-init-options3.xml ++++ b/tests/data/cli/compare/virt-install-cloud-init-options3.xml +@@ -75,7 +75,6 @@ users: + 2 + + hvm +- + + + +@@ -90,6 +89,7 @@ users: + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-cloud-init-options4.xml b/tests/data/cli/compare/virt-install-cloud-init-options4.xml +index 0ddc52762..8dc83189f 100644 +--- a/tests/data/cli/compare/virt-install-cloud-init-options4.xml ++++ b/tests/data/cli/compare/virt-install-cloud-init-options4.xml +@@ -68,7 +68,6 @@ + 2 + + hvm +- + + + +@@ -83,6 +82,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-cloud-init-options5.xml b/tests/data/cli/compare/virt-install-cloud-init-options5.xml +index 0ddc52762..8dc83189f 100644 +--- a/tests/data/cli/compare/virt-install-cloud-init-options5.xml ++++ b/tests/data/cli/compare/virt-install-cloud-init-options5.xml +@@ -68,7 +68,6 @@ + 2 + + hvm +- + + + +@@ -83,6 +82,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-cloud-init-options6.xml b/tests/data/cli/compare/virt-install-cloud-init-options6.xml +index 0ddc52762..8dc83189f 100644 +--- a/tests/data/cli/compare/virt-install-cloud-init-options6.xml ++++ b/tests/data/cli/compare/virt-install-cloud-init-options6.xml +@@ -68,7 +68,6 @@ + 2 + + hvm +- + + + +@@ -83,6 +82,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-f21-kvm-remote.xml b/tests/data/cli/compare/virt-install-f21-kvm-remote.xml +index f64e8056f..28997d5d5 100644 +--- a/tests/data/cli/compare/virt-install-f21-kvm-remote.xml ++++ b/tests/data/cli/compare/virt-install-f21-kvm-remote.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -34,6 +33,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-fake-ftp.xml b/tests/data/cli/compare/virt-install-fake-ftp.xml +index e3e3177b0..7bdbb009e 100644 +--- a/tests/data/cli/compare/virt-install-fake-ftp.xml ++++ b/tests/data/cli/compare/virt-install-fake-ftp.xml +@@ -56,7 +56,6 @@ + 2 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-fake-http.xml b/tests/data/cli/compare/virt-install-fake-http.xml +index 9bbce22aa..b4269525f 100644 +--- a/tests/data/cli/compare/virt-install-fake-http.xml ++++ b/tests/data/cli/compare/virt-install-fake-http.xml +@@ -46,7 +46,6 @@ + 1 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-funny-passwords.xml b/tests/data/cli/compare/virt-install-funny-passwords.xml +index 92dbe3b2d..cb034feeb 100644 +--- a/tests/data/cli/compare/virt-install-funny-passwords.xml ++++ b/tests/data/cli/compare/virt-install-funny-passwords.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -33,6 +32,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-graphics-usb-disable.xml b/tests/data/cli/compare/virt-install-graphics-usb-disable.xml +index 26a5da769..ddc51305a 100644 +--- a/tests/data/cli/compare/virt-install-graphics-usb-disable.xml ++++ b/tests/data/cli/compare/virt-install-graphics-usb-disable.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -34,6 +33,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-hvf-default-f27.xml b/tests/data/cli/compare/virt-install-hvf-default-f27.xml +index 52480925e..5078cc3e6 100644 +--- a/tests/data/cli/compare/virt-install-hvf-default-f27.xml ++++ b/tests/data/cli/compare/virt-install-hvf-default-f27.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -33,6 +32,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-hyperv_disable_vpindex.xml b/tests/data/cli/compare/virt-install-hyperv_disable_vpindex.xml +index 42f0121b5..bf40b2fa9 100644 +--- a/tests/data/cli/compare/virt-install-hyperv_disable_vpindex.xml ++++ b/tests/data/cli/compare/virt-install-hyperv_disable_vpindex.xml +@@ -11,7 +11,6 @@ + 4 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-hyperv_enable_tlbflush_direct_and_extended.xml b/tests/data/cli/compare/virt-install-hyperv_enable_tlbflush_direct_and_extended.xml +index 0a6a05ffe..62c7e39b1 100644 +--- a/tests/data/cli/compare/virt-install-hyperv_enable_tlbflush_direct_and_extended.xml ++++ b/tests/data/cli/compare/virt-install-hyperv_enable_tlbflush_direct_and_extended.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -40,6 +39,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-hyperv_enable_xmm_and_emsr.xml b/tests/data/cli/compare/virt-install-hyperv_enable_xmm_and_emsr.xml +index f2b8c30d2..a8a2ff56b 100644 +--- a/tests/data/cli/compare/virt-install-hyperv_enable_xmm_and_emsr.xml ++++ b/tests/data/cli/compare/virt-install-hyperv_enable_xmm_and_emsr.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -38,6 +37,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-hyperv_no_domcaps.xml b/tests/data/cli/compare/virt-install-hyperv_no_domcaps.xml +index e6abf6578..5525f2458 100644 +--- a/tests/data/cli/compare/virt-install-hyperv_no_domcaps.xml ++++ b/tests/data/cli/compare/virt-install-hyperv_no_domcaps.xml +@@ -11,7 +11,6 @@ + 4 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-initrd-inject.xml b/tests/data/cli/compare/virt-install-initrd-inject.xml +index 42cc96bae..3664d266e 100644 +--- a/tests/data/cli/compare/virt-install-initrd-inject.xml ++++ b/tests/data/cli/compare/virt-install-initrd-inject.xml +@@ -56,7 +56,6 @@ + 2 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-centos7.xml b/tests/data/cli/compare/virt-install-kvm-centos7.xml +index 3165c94a6..7521732c4 100644 +--- a/tests/data/cli/compare/virt-install-kvm-centos7.xml ++++ b/tests/data/cli/compare/virt-install-kvm-centos7.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -35,12 +33,14 @@ + + + ++ + + + + + + ++ + + + +@@ -80,7 +80,6 @@ + 2 + + hvm +- + + + +@@ -103,6 +102,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-cpu-default-fallback.xml b/tests/data/cli/compare/virt-install-kvm-cpu-default-fallback.xml +index d4e36aa6d..5c7c61b54 100644 +--- a/tests/data/cli/compare/virt-install-kvm-cpu-default-fallback.xml ++++ b/tests/data/cli/compare/virt-install-kvm-cpu-default-fallback.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -37,12 +35,14 @@ + + + ++ + + + + + + ++ + + + +@@ -81,7 +81,6 @@ + 2 + + hvm +- + + + +@@ -106,6 +105,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-cpu-hostmodel-fallback.xml b/tests/data/cli/compare/virt-install-kvm-cpu-hostmodel-fallback.xml +index 8b71596aa..a0910bc48 100644 +--- a/tests/data/cli/compare/virt-install-kvm-cpu-hostmodel-fallback.xml ++++ b/tests/data/cli/compare/virt-install-kvm-cpu-hostmodel-fallback.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -35,12 +33,14 @@ + + + ++ + + + + + + ++ + + + +@@ -79,7 +79,6 @@ + 2 + + hvm +- + + + +@@ -102,6 +101,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-fedoralatest-url.xml b/tests/data/cli/compare/virt-install-kvm-fedoralatest-url.xml +index 47603aac5..e5766c1a5 100644 +--- a/tests/data/cli/compare/virt-install-kvm-fedoralatest-url.xml ++++ b/tests/data/cli/compare/virt-install-kvm-fedoralatest-url.xml +@@ -86,7 +86,6 @@ + + hvm + foo bar baz +- + + + +@@ -109,6 +108,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-i686-uefi.xml b/tests/data/cli/compare/virt-install-kvm-i686-uefi.xml +index 0b30997de..6bb815eea 100644 +--- a/tests/data/cli/compare/virt-install-kvm-i686-uefi.xml ++++ b/tests/data/cli/compare/virt-install-kvm-i686-uefi.xml +@@ -69,7 +69,6 @@ + 1 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-rhel5.xml b/tests/data/cli/compare/virt-install-kvm-rhel5.xml +index af097be98..a384b3ee9 100644 +--- a/tests/data/cli/compare/virt-install-kvm-rhel5.xml ++++ b/tests/data/cli/compare/virt-install-kvm-rhel5.xml +@@ -11,8 +11,6 @@ + 1 + + hvm +- +- + + + +@@ -35,6 +33,7 @@ + + + ++ + + + +@@ -50,6 +49,7 @@ + + + ++ + + + +@@ -81,7 +81,6 @@ + 1 + + hvm +- + + + +@@ -104,6 +103,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-rhel6.xml b/tests/data/cli/compare/virt-install-kvm-rhel6.xml +index 8a2000983..406849b49 100644 +--- a/tests/data/cli/compare/virt-install-kvm-rhel6.xml ++++ b/tests/data/cli/compare/virt-install-kvm-rhel6.xml +@@ -86,7 +86,6 @@ + 2 + + hvm +- + + + +@@ -109,6 +108,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-rhel7.xml b/tests/data/cli/compare/virt-install-kvm-rhel7.xml +index c80929660..c1c8a1ecf 100644 +--- a/tests/data/cli/compare/virt-install-kvm-rhel7.xml ++++ b/tests/data/cli/compare/virt-install-kvm-rhel7.xml +@@ -80,7 +80,6 @@ + 2 + + hvm +- + + + +@@ -103,6 +102,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-session-defaults.xml b/tests/data/cli/compare/virt-install-kvm-session-defaults.xml +index fe62a0686..80660b0d1 100644 +--- a/tests/data/cli/compare/virt-install-kvm-session-defaults.xml ++++ b/tests/data/cli/compare/virt-install-kvm-session-defaults.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -35,12 +33,14 @@ + + + ++ + + + + + + ++ + + + +@@ -85,7 +85,6 @@ + 2 + + hvm +- + + + +@@ -108,6 +107,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-win10.xml b/tests/data/cli/compare/virt-install-kvm-win10.xml +index e259178ca..2db06fbc3 100644 +--- a/tests/data/cli/compare/virt-install-kvm-win10.xml ++++ b/tests/data/cli/compare/virt-install-kvm-win10.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -50,12 +48,14 @@ + + + ++ + + + + + + ++ + + + +@@ -96,7 +96,6 @@ + 2 + + hvm +- + + + +@@ -134,6 +133,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-kvm-win2k3-cdrom.xml b/tests/data/cli/compare/virt-install-kvm-win2k3-cdrom.xml +index 78f8e1794..c47fb3091 100644 +--- a/tests/data/cli/compare/virt-install-kvm-win2k3-cdrom.xml ++++ b/tests/data/cli/compare/virt-install-kvm-win2k3-cdrom.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -50,12 +48,14 @@ + + + ++ + + + + + + ++ + + + +@@ -93,7 +93,6 @@ + 2 + + hvm +- + + + +@@ -131,6 +130,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-linux2020.xml b/tests/data/cli/compare/virt-install-linux2020.xml +index b37b87758..05916ad6c 100644 +--- a/tests/data/cli/compare/virt-install-linux2020.xml ++++ b/tests/data/cli/compare/virt-install-linux2020.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -35,6 +33,7 @@ + + + ++ + + + +@@ -56,6 +55,7 @@ + + + ++ + + + +@@ -95,7 +95,6 @@ + 2 + + hvm +- + + + +@@ -118,6 +117,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-location-iso-and-cloud-init.xml b/tests/data/cli/compare/virt-install-location-iso-and-cloud-init.xml +index 287a4ba2d..219950ff2 100644 +--- a/tests/data/cli/compare/virt-install-location-iso-and-cloud-init.xml ++++ b/tests/data/cli/compare/virt-install-location-iso-and-cloud-init.xml +@@ -102,7 +102,6 @@ + 2 + + hvm +- + + + +@@ -125,6 +124,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-location-iso.xml b/tests/data/cli/compare/virt-install-location-iso.xml +index 2ed1c836c..a1d480754 100644 +--- a/tests/data/cli/compare/virt-install-location-iso.xml ++++ b/tests/data/cli/compare/virt-install-location-iso.xml +@@ -90,7 +90,6 @@ + 2 + + hvm +- + + + +@@ -113,6 +112,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-location-manual-kernel.xml b/tests/data/cli/compare/virt-install-location-manual-kernel.xml +index 7b8be1ac4..22333ca81 100644 +--- a/tests/data/cli/compare/virt-install-location-manual-kernel.xml ++++ b/tests/data/cli/compare/virt-install-location-manual-kernel.xml +@@ -72,7 +72,6 @@ + 1 + + hvm +- + + + +@@ -96,6 +95,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-loongarch64-cdrom.xml b/tests/data/cli/compare/virt-install-loongarch64-cdrom.xml +index f0b5d8565..70b56b100 100644 +--- a/tests/data/cli/compare/virt-install-loongarch64-cdrom.xml ++++ b/tests/data/cli/compare/virt-install-loongarch64-cdrom.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -24,12 +22,14 @@ + + + ++ + + + + + + ++ + + + +@@ -90,7 +90,6 @@ + 2 + + hvm +- + + + +@@ -102,6 +101,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-loongarch64-cloud-init.xml b/tests/data/cli/compare/virt-install-loongarch64-cloud-init.xml +index 9c32f9238..4df9fc982 100644 +--- a/tests/data/cli/compare/virt-install-loongarch64-cloud-init.xml ++++ b/tests/data/cli/compare/virt-install-loongarch64-cloud-init.xml +@@ -88,7 +88,6 @@ + 2 + + hvm +- + + + +@@ -100,6 +99,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-loongarch64-graphics.xml b/tests/data/cli/compare/virt-install-loongarch64-graphics.xml +index c6711da67..1e36632ad 100644 +--- a/tests/data/cli/compare/virt-install-loongarch64-graphics.xml ++++ b/tests/data/cli/compare/virt-install-loongarch64-graphics.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -23,6 +22,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-loongarch64-headless.xml b/tests/data/cli/compare/virt-install-loongarch64-headless.xml +index 5671b2f22..ea1573e07 100644 +--- a/tests/data/cli/compare/virt-install-loongarch64-headless.xml ++++ b/tests/data/cli/compare/virt-install-loongarch64-headless.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -23,6 +22,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-loongarch64-unattended.xml b/tests/data/cli/compare/virt-install-loongarch64-unattended.xml +index 183fa4e08..b8b78da26 100644 +--- a/tests/data/cli/compare/virt-install-loongarch64-unattended.xml ++++ b/tests/data/cli/compare/virt-install-loongarch64-unattended.xml +@@ -88,7 +88,6 @@ + 2 + + hvm +- + + + +@@ -100,6 +99,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-mdev-devices.xml b/tests/data/cli/compare/virt-install-mdev-devices.xml +index a502910cc..45a2f08a4 100644 +--- a/tests/data/cli/compare/virt-install-mdev-devices.xml ++++ b/tests/data/cli/compare/virt-install-mdev-devices.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -34,6 +33,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-memory-hotplug.xml b/tests/data/cli/compare/virt-install-memory-hotplug.xml +index 23c0c2063..c673fcfed 100644 +--- a/tests/data/cli/compare/virt-install-memory-hotplug.xml ++++ b/tests/data/cli/compare/virt-install-memory-hotplug.xml +@@ -10,8 +10,6 @@ + 2 + + hvm +- +- + + + +@@ -38,6 +36,7 @@ + + + ++ + + + +@@ -59,6 +58,7 @@ + + + ++ + + + +@@ -155,7 +155,6 @@ + 2 + + hvm +- + + + +@@ -182,6 +181,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-network-install-resources.xml b/tests/data/cli/compare/virt-install-network-install-resources.xml +index 6a471e101..eed493fff 100644 +--- a/tests/data/cli/compare/virt-install-network-install-resources.xml ++++ b/tests/data/cli/compare/virt-install-network-install-resources.xml +@@ -77,7 +77,6 @@ + 2 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-openbsd-defaults.xml b/tests/data/cli/compare/virt-install-openbsd-defaults.xml +index 64137916b..7c071d360 100644 +--- a/tests/data/cli/compare/virt-install-openbsd-defaults.xml ++++ b/tests/data/cli/compare/virt-install-openbsd-defaults.xml +@@ -11,7 +11,6 @@ + 1 + + hvm +- + + + +@@ -34,6 +33,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-os-detect-fail-fallback.xml b/tests/data/cli/compare/virt-install-os-detect-fail-fallback.xml +index 7005f1224..73dbe1e47 100644 +--- a/tests/data/cli/compare/virt-install-os-detect-fail-fallback.xml ++++ b/tests/data/cli/compare/virt-install-os-detect-fail-fallback.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -36,6 +35,7 @@ + + + ++ + + + +@@ -54,7 +54,6 @@ + 2 + + hvm +- + + + +@@ -79,6 +78,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-os-detect-success-fallback.xml b/tests/data/cli/compare/virt-install-os-detect-success-fallback.xml +index 8ff240545..7e107d4b5 100644 +--- a/tests/data/cli/compare/virt-install-os-detect-success-fallback.xml ++++ b/tests/data/cli/compare/virt-install-os-detect-success-fallback.xml +@@ -56,7 +56,6 @@ + 2 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-osinfo-multiple-short-id.xml b/tests/data/cli/compare/virt-install-osinfo-multiple-short-id.xml +index 57733cbdd..9e62c7815 100644 +--- a/tests/data/cli/compare/virt-install-osinfo-multiple-short-id.xml ++++ b/tests/data/cli/compare/virt-install-osinfo-multiple-short-id.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -34,6 +32,7 @@ + + + ++ + + + +@@ -55,6 +54,7 @@ + + + ++ + + + +@@ -81,7 +81,6 @@ + 2 + + hvm +- + + + +@@ -103,6 +102,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-osinfo-netinst-unattended.xml b/tests/data/cli/compare/virt-install-osinfo-netinst-unattended.xml +index f55ad4800..88a281803 100644 +--- a/tests/data/cli/compare/virt-install-osinfo-netinst-unattended.xml ++++ b/tests/data/cli/compare/virt-install-osinfo-netinst-unattended.xml +@@ -83,7 +83,6 @@ + 2 + + hvm +- + + + +@@ -106,6 +105,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-osinfo-unattended-treeapis.xml b/tests/data/cli/compare/virt-install-osinfo-unattended-treeapis.xml +index 5f3c3474e..86f550453 100644 +--- a/tests/data/cli/compare/virt-install-osinfo-unattended-treeapis.xml ++++ b/tests/data/cli/compare/virt-install-osinfo-unattended-treeapis.xml +@@ -71,7 +71,6 @@ + 2 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-osinfo-url-unattended.xml b/tests/data/cli/compare/virt-install-osinfo-url-unattended.xml +index 2388120ac..9f635fc45 100644 +--- a/tests/data/cli/compare/virt-install-osinfo-url-unattended.xml ++++ b/tests/data/cli/compare/virt-install-osinfo-url-unattended.xml +@@ -77,7 +77,6 @@ + 2 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-osinfo-url-with-disk.xml b/tests/data/cli/compare/virt-install-osinfo-url-with-disk.xml +index 11fce0aad..59ff017b8 100644 +--- a/tests/data/cli/compare/virt-install-osinfo-url-with-disk.xml ++++ b/tests/data/cli/compare/virt-install-osinfo-url-with-disk.xml +@@ -87,7 +87,6 @@ + 2 + + hvm +- + + + +@@ -109,6 +108,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-osinfo-url.xml b/tests/data/cli/compare/virt-install-osinfo-url.xml +index ea1937a30..1d278fad6 100644 +--- a/tests/data/cli/compare/virt-install-osinfo-url.xml ++++ b/tests/data/cli/compare/virt-install-osinfo-url.xml +@@ -77,7 +77,6 @@ + 2 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-osinfo-win7-unattended.xml b/tests/data/cli/compare/virt-install-osinfo-win7-unattended.xml +index ceac878d7..508a7dd4d 100644 +--- a/tests/data/cli/compare/virt-install-osinfo-win7-unattended.xml ++++ b/tests/data/cli/compare/virt-install-osinfo-win7-unattended.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -49,6 +48,7 @@ + + + ++ + + + +@@ -111,7 +111,6 @@ + 2 + + hvm +- + + + +@@ -149,6 +148,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-osvariant-defaults-pxe.xml b/tests/data/cli/compare/virt-install-osvariant-defaults-pxe.xml +index 50b50e9b5..de6e58656 100644 +--- a/tests/data/cli/compare/virt-install-osvariant-defaults-pxe.xml ++++ b/tests/data/cli/compare/virt-install-osvariant-defaults-pxe.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -28,6 +26,7 @@ + + + ++ + + + +@@ -42,6 +41,7 @@ + + + ++ + + + +@@ -73,7 +73,6 @@ + 2 + + hvm +- + + + +@@ -89,6 +88,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-ppc64le-kvm-import.xml b/tests/data/cli/compare/virt-install-ppc64le-kvm-import.xml +index ab51f8131..220cd186b 100644 +--- a/tests/data/cli/compare/virt-install-ppc64le-kvm-import.xml ++++ b/tests/data/cli/compare/virt-install-ppc64le-kvm-import.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -20,6 +19,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-q35-defaults.xml b/tests/data/cli/compare/virt-install-q35-defaults.xml +index 4b9f97f64..aafbd52d0 100644 +--- a/tests/data/cli/compare/virt-install-q35-defaults.xml ++++ b/tests/data/cli/compare/virt-install-q35-defaults.xml +@@ -6,8 +6,6 @@ + 1 + + hvm +- +- + + + +@@ -30,12 +28,14 @@ + + + ++ + + + + + + ++ + + + +@@ -92,7 +92,6 @@ + 1 + + hvm +- + + + +@@ -115,6 +114,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-reinstall-cdrom.xml b/tests/data/cli/compare/virt-install-reinstall-cdrom.xml +index 156da0341..c61020754 100644 +--- a/tests/data/cli/compare/virt-install-reinstall-cdrom.xml ++++ b/tests/data/cli/compare/virt-install-reinstall-cdrom.xml +@@ -6,7 +6,6 @@ + 2 + + hvm +- + + + destroy +@@ -18,6 +17,7 @@ + +
+ ++ + + + +diff --git a/tests/data/cli/compare/virt-install-reinstall-pxe.xml b/tests/data/cli/compare/virt-install-reinstall-pxe.xml +index f92ee8844..0f7f91f0d 100644 +--- a/tests/data/cli/compare/virt-install-reinstall-pxe.xml ++++ b/tests/data/cli/compare/virt-install-reinstall-pxe.xml +@@ -7,8 +7,6 @@ + + hvm + /usr/lib/xen/boot/hvmloader +- +- + + + +@@ -25,11 +23,13 @@ + + +
++ + + + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-remote-storage.xml b/tests/data/cli/compare/virt-install-remote-storage.xml +index 94866a51b..8b41d2ac4 100644 +--- a/tests/data/cli/compare/virt-install-remote-storage.xml ++++ b/tests/data/cli/compare/virt-install-remote-storage.xml +@@ -6,8 +6,6 @@ + 1 + + hvm +- +- + + + +@@ -22,6 +20,7 @@ + + + ++ + + + +@@ -40,6 +39,7 @@ + + + ++ + + + +@@ -53,7 +53,6 @@ + 1 + + hvm +- + + + +@@ -68,6 +67,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-riscv64-cdrom.xml b/tests/data/cli/compare/virt-install-riscv64-cdrom.xml +index 1d6bd923c..b5e654a6e 100644 +--- a/tests/data/cli/compare/virt-install-riscv64-cdrom.xml ++++ b/tests/data/cli/compare/virt-install-riscv64-cdrom.xml +@@ -11,8 +11,6 @@ + 2 + + hvm +- +- + + + +@@ -22,12 +20,14 @@ + + + ++ + + + + + + ++ + + + +@@ -91,7 +91,6 @@ + 2 + + hvm +- + + + +@@ -101,6 +100,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-riscv64-cloud-init.xml b/tests/data/cli/compare/virt-install-riscv64-cloud-init.xml +index 815f93ea0..8cfa26b5f 100644 +--- a/tests/data/cli/compare/virt-install-riscv64-cloud-init.xml ++++ b/tests/data/cli/compare/virt-install-riscv64-cloud-init.xml +@@ -86,7 +86,6 @@ + 2 + + hvm +- + + + +@@ -96,6 +95,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-riscv64-graphics.xml b/tests/data/cli/compare/virt-install-riscv64-graphics.xml +index 04ab41933..72832bd2f 100644 +--- a/tests/data/cli/compare/virt-install-riscv64-graphics.xml ++++ b/tests/data/cli/compare/virt-install-riscv64-graphics.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -21,6 +20,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-riscv64-headless.xml b/tests/data/cli/compare/virt-install-riscv64-headless.xml +index 27328a123..557243bb3 100644 +--- a/tests/data/cli/compare/virt-install-riscv64-headless.xml ++++ b/tests/data/cli/compare/virt-install-riscv64-headless.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -21,6 +20,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-riscv64-unattended.xml b/tests/data/cli/compare/virt-install-riscv64-unattended.xml +index 7fdb32d04..8ef0d3d87 100644 +--- a/tests/data/cli/compare/virt-install-riscv64-unattended.xml ++++ b/tests/data/cli/compare/virt-install-riscv64-unattended.xml +@@ -89,7 +89,6 @@ + 2 + + hvm +- + + + +@@ -99,6 +98,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-s390x-default.xml b/tests/data/cli/compare/virt-install-s390x-default.xml +index 1de705d1f..5aacc581b 100644 +--- a/tests/data/cli/compare/virt-install-s390x-default.xml ++++ b/tests/data/cli/compare/virt-install-s390x-default.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-s390x-headless.xml b/tests/data/cli/compare/virt-install-s390x-headless.xml +index 0a687309b..5b470730c 100644 +--- a/tests/data/cli/compare/virt-install-s390x-headless.xml ++++ b/tests/data/cli/compare/virt-install-s390x-headless.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -20,6 +19,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-simple-pxe.xml b/tests/data/cli/compare/virt-install-simple-pxe.xml +index 02781e46d..ec3d33fb3 100644 +--- a/tests/data/cli/compare/virt-install-simple-pxe.xml ++++ b/tests/data/cli/compare/virt-install-simple-pxe.xml +@@ -6,7 +6,6 @@ + 1 + + hvm +- + + + +@@ -31,6 +30,7 @@ + + + ++ + + + +@@ -44,7 +44,6 @@ + 1 + + hvm +- + + + +@@ -69,6 +68,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-singleton-config-2.xml b/tests/data/cli/compare/virt-install-singleton-config-2.xml +index 6b7e523c4..8dfc1f94f 100644 +--- a/tests/data/cli/compare/virt-install-singleton-config-2.xml ++++ b/tests/data/cli/compare/virt-install-singleton-config-2.xml +@@ -13,8 +13,6 @@ + hvm + /tmp/foo + +- +- + + + +@@ -43,6 +41,7 @@ + + + ++ + + + +@@ -64,6 +63,7 @@ + + + ++ + + + +@@ -113,7 +113,6 @@ + + hvm + /tmp/foo +- + + + +@@ -143,6 +142,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-storage-creation.xml b/tests/data/cli/compare/virt-install-storage-creation.xml +index 567ad6ed1..63335e7ea 100644 +--- a/tests/data/cli/compare/virt-install-storage-creation.xml ++++ b/tests/data/cli/compare/virt-install-storage-creation.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -34,6 +33,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-testdriver-edgecases.xml b/tests/data/cli/compare/virt-install-testdriver-edgecases.xml +index 3cc385c09..e59b8255c 100644 +--- a/tests/data/cli/compare/virt-install-testdriver-edgecases.xml ++++ b/tests/data/cli/compare/virt-install-testdriver-edgecases.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -30,6 +29,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-unattended-remote-cdrom.xml b/tests/data/cli/compare/virt-install-unattended-remote-cdrom.xml +index 93b79c530..a09a9e8c3 100644 +--- a/tests/data/cli/compare/virt-install-unattended-remote-cdrom.xml ++++ b/tests/data/cli/compare/virt-install-unattended-remote-cdrom.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -27,6 +26,7 @@ + + + ++ + + + +@@ -64,7 +64,6 @@ + 2 + + hvm +- + + + +@@ -80,6 +79,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-virtio-sound-device.xml b/tests/data/cli/compare/virt-install-virtio-sound-device.xml +index c696c4c2b..74ae2427b 100644 +--- a/tests/data/cli/compare/virt-install-virtio-sound-device.xml ++++ b/tests/data/cli/compare/virt-install-virtio-sound-device.xml +@@ -11,7 +11,6 @@ + 2 + + hvm +- + + + +@@ -34,6 +33,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-w2k3-cdrom.xml b/tests/data/cli/compare/virt-install-w2k3-cdrom.xml +index 7bea95d63..15fb5fe17 100644 +--- a/tests/data/cli/compare/virt-install-w2k3-cdrom.xml ++++ b/tests/data/cli/compare/virt-install-w2k3-cdrom.xml +@@ -11,8 +11,6 @@ + 4 + + hvm +- +- + + + +@@ -30,11 +28,13 @@ + + + ++ + + + + + ++ + + + +@@ -58,7 +58,6 @@ + 4 + + hvm +- + + + +@@ -76,6 +75,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-win11-no-uefi.xml b/tests/data/cli/compare/virt-install-win11-no-uefi.xml +index 58f559fd1..28396ef33 100644 +--- a/tests/data/cli/compare/virt-install-win11-no-uefi.xml ++++ b/tests/data/cli/compare/virt-install-win11-no-uefi.xml +@@ -11,8 +11,6 @@ + 4 + + hvm +- +- + + + +@@ -50,12 +48,14 @@ + + + ++ + + + + + + ++ + + + +@@ -108,7 +108,6 @@ + 4 + + hvm +- + + + +@@ -146,6 +145,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-win11.xml b/tests/data/cli/compare/virt-install-win11.xml +index bc825db4a..f37103987 100644 +--- a/tests/data/cli/compare/virt-install-win11.xml ++++ b/tests/data/cli/compare/virt-install-win11.xml +@@ -11,8 +11,6 @@ + 4 + + hvm +- +- + + + +@@ -50,12 +48,14 @@ + + + ++ + + + + + + ++ + + + +@@ -111,7 +111,6 @@ + 4 + + hvm +- + + + +@@ -149,6 +148,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-win7-uefi.xml b/tests/data/cli/compare/virt-install-win7-uefi.xml +index 5f556dbcd..a76a29ecd 100644 +--- a/tests/data/cli/compare/virt-install-win7-uefi.xml ++++ b/tests/data/cli/compare/virt-install-win7-uefi.xml +@@ -13,8 +13,6 @@ + hvm + CODE.fd + +- +- + + + +@@ -52,12 +50,14 @@ + + + ++ + + + + + + ++ + + + +@@ -124,7 +124,6 @@ + hvm + CODE.fd + +- + + + +@@ -162,6 +161,7 @@ + + + ++ + + + +diff --git a/tests/data/cli/compare/virt-install-x86_64-launch-security-sev-snp-full.xml b/tests/data/cli/compare/virt-install-x86_64-launch-security-sev-snp-full.xml +index d3b44e789..62423c164 100644 +--- a/tests/data/cli/compare/virt-install-x86_64-launch-security-sev-snp-full.xml ++++ b/tests/data/cli/compare/virt-install-x86_64-launch-security-sev-snp-full.xml +@@ -6,7 +6,6 @@ + 1 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-x86_64-launch-security-sev-snp.xml b/tests/data/cli/compare/virt-install-x86_64-launch-security-sev-snp.xml +index 2253bd055..d101aa56e 100644 +--- a/tests/data/cli/compare/virt-install-x86_64-launch-security-sev-snp.xml ++++ b/tests/data/cli/compare/virt-install-x86_64-launch-security-sev-snp.xml +@@ -6,7 +6,6 @@ + 1 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx-full.xml b/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx-full.xml +index 65fd4f746..faba38f28 100644 +--- a/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx-full.xml ++++ b/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx-full.xml +@@ -6,7 +6,6 @@ + 1 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx-qgs.xml b/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx-qgs.xml +index f6e5e150d..6a0df324e 100644 +--- a/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx-qgs.xml ++++ b/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx-qgs.xml +@@ -6,7 +6,6 @@ + 1 + + hvm +- + + + +diff --git a/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx.xml b/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx.xml +index b691e0c96..f75e149b3 100644 +--- a/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx.xml ++++ b/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx.xml +@@ -6,7 +6,6 @@ + 1 + + hvm +- + + + +diff --git a/virtinst/guest.py b/virtinst/guest.py +index 3f9eb0079..7331a725b 100644 +--- a/virtinst/guest.py ++++ b/virtinst/guest.py +@@ -439,7 +439,7 @@ class Guest(XMLBuilder): + # Bootorder helpers # + ##################### + +- def _convert_old_boot_order(self, boot_order): ++ def convert_old_boot_order(self, boot_order): + """Converts the old boot order (e.g. ) into the + per-device boot order format. + +@@ -490,7 +490,7 @@ class Guest(XMLBuilder): + + def get_boot_order(self): + if self.can_use_device_boot_order(): +- return self._get_device_boot_order() or self._convert_old_boot_order(self.os.bootorder) ++ return self._get_device_boot_order() or self.convert_old_boot_order(self.os.bootorder) + return self.os.bootorder + + def _set_device_boot_order(self, boot_order): +@@ -513,6 +513,9 @@ class Guest(XMLBuilder): + else: + self.os.bootorder = boot_order + ++ def has_boot_order(self): ++ return self.os.bootorder or any([d.boot.order for d in self.devices.get_all()]) ++ + def reorder_boot_order(self, dev, boot_index): + """Sets boot order of `dev` to `boot_index` + +diff --git a/virtinst/install/installer.py b/virtinst/install/installer.py +index a507c3c7c..ce3dea6c6 100644 +--- a/virtinst/install/installer.py ++++ b/virtinst/install/installer.py +@@ -230,14 +230,13 @@ class Installer: + if bootdev not in bootorder: + bootorder.append(bootdev) + break ++ ++ if guest.can_use_device_boot_order(): ++ return guest.convert_old_boot_order(bootorder) + return bootorder + + def _can_set_guest_bootorder(self, guest): +- return ( +- not guest.os.is_container() +- and not guest.os.kernel +- and not any([d.boot.order for d in guest.devices.get_all()]) +- ) ++ return not guest.os.is_container() and not guest.os.kernel + + def _alter_treemedia_bootconfig(self, guest): + if not self._treemedia: +@@ -262,10 +261,11 @@ class Installer: + self._alter_treemedia_bootconfig(guest) + + bootdev = self._install_bootdev ++ bootorder = [] + if bootdev and self._can_set_guest_bootorder(guest): +- guest.os.bootorder = self._build_boot_order(guest, bootdev) +- else: +- guest.os.bootorder = [] ++ bootorder = self._build_boot_order(guest, bootdev) ++ ++ guest.set_boot_order(bootorder) + + def _alter_install_resources(self, guest, meter): + """ +@@ -483,9 +483,9 @@ class Installer: + + self._add_install_cdrom_device(guest) + +- if not guest.os.bootorder and self._can_set_guest_bootorder(guest): ++ if not guest.has_boot_order() and self._can_set_guest_bootorder(guest): + bootdev = self._get_postinstall_bootdev(guest) +- guest.os.bootorder = self._build_boot_order(guest, bootdev) ++ guest.set_boot_order(self._build_boot_order(guest, bootdev)) + + if not self._is_reinstall: + guest.set_defaults(None) +-- +2.52.0 diff --git a/virt-manager-maint-use-constants-instead-of-strings-for-boot-devices.patch b/virt-manager-maint-use-constants-instead-of-strings-for-boot-devices.patch new file mode 100644 index 0000000..cc49a67 --- /dev/null +++ b/virt-manager-maint-use-constants-instead-of-strings-for-boot-devices.patch @@ -0,0 +1,139 @@ +From 43951a5a6fd9fd50f063915f1e4d6d2fe72a86ec Mon Sep 17 00:00:00 2001 +Message-ID: <43951a5a6fd9fd50f063915f1e4d6d2fe72a86ec.1764872379.git.phrdina@redhat.com> +From: Pavel Hrdina +Date: Fri, 17 Oct 2025 16:32:33 +0200 +Subject: [PATCH] maint: use constants instead of strings for boot devices + +From: Pavel Hrdina + +Signed-off-by: Pavel Hrdina +(cherry picked from commit 161fb1baaff45f260b278e9df900293ab12da820) + +https://issues.redhat.com/browse/RHEL-71842 + +Signed-off-by: Pavel Hrdina +--- + virtManager/details/details.py | 20 ++++++++++++++++---- + virtinst/cli.py | 9 +++++---- + virtinst/guest.py | 8 ++++---- + virtinst/install/installer.py | 4 ++-- + virtinst/virtinstall.py | 2 +- + 5 files changed, 28 insertions(+), 15 deletions(-) + +diff --git a/virtManager/details/details.py b/virtManager/details/details.py +index a256820ea..94ba83abf 100644 +--- a/virtManager/details/details.py ++++ b/virtManager/details/details.py +@@ -2271,10 +2271,22 @@ class vmmDetails(vmmGObjectUI): + def _make_boot_rows(self): + if not self.vm.can_use_device_boot_order(): + return [ +- ["hd", _("Hard Disk"), "drive-harddisk", False, True], +- ["cdrom", _("CDROM"), "media-optical", False, True], +- ["network", _("Network (PXE)"), "network-idle", False, True], +- ["fd", _("Floppy"), "media-floppy", False, True], ++ [ ++ virtinst.DomainOs.BOOT_DEVICE_HARDDISK, ++ _("Hard Disk"), ++ "drive-harddisk", ++ False, ++ True, ++ ], ++ [virtinst.DomainOs.BOOT_DEVICE_CDROM, _("CDROM"), "media-optical", False, True], ++ [ ++ virtinst.DomainOs.BOOT_DEVICE_NETWORK, ++ _("Network (PXE)"), ++ "network-idle", ++ False, ++ True, ++ ], ++ [virtinst.DomainOs.BOOT_DEVICE_FLOPPY, _("Floppy"), "media-floppy", False, True], + ] + + ret = [] +diff --git a/virtinst/cli.py b/virtinst/cli.py +index ed97e8809..315b5b8e9 100644 +--- a/virtinst/cli.py ++++ b/virtinst/cli.py +@@ -29,6 +29,7 @@ from .devices import ( + DeviceHostdev, + DeviceInterface, + ) ++from .domain import DomainOs + from .guest import Guest + from .logger import log, reset_logging + from .nodedev import NodeDevice +@@ -3214,10 +3215,10 @@ class ParserBoot(VirtCLIParser): + + # This is simply so the boot options are advertised with --boot help, + # actual processing is handled by _parse +- cls.add_arg("hd", None, lookup_cb=None, cb=cls.noset_cb) +- cls.add_arg("cdrom", None, lookup_cb=None, cb=cls.noset_cb) +- cls.add_arg("fd", None, lookup_cb=None, cb=cls.noset_cb) +- cls.add_arg("network", None, lookup_cb=None, cb=cls.noset_cb) ++ cls.add_arg(DomainOs.BOOT_DEVICE_HARDDISK, None, lookup_cb=None, cb=cls.noset_cb) ++ cls.add_arg(DomainOs.BOOT_DEVICE_CDROM, None, lookup_cb=None, cb=cls.noset_cb) ++ cls.add_arg(DomainOs.BOOT_DEVICE_FLOPPY, None, lookup_cb=None, cb=cls.noset_cb) ++ cls.add_arg(DomainOs.BOOT_DEVICE_NETWORK, None, lookup_cb=None, cb=cls.noset_cb) + + cls.add_arg( + "refresh-machine-type", +diff --git a/virtinst/guest.py b/virtinst/guest.py +index 54754d49a..b790a9c8d 100644 +--- a/virtinst/guest.py ++++ b/virtinst/guest.py +@@ -469,13 +469,13 @@ class Guest(XMLBuilder): + break + + for b in boot_order: +- if b == "network" and net: ++ if b == DomainOs.BOOT_DEVICE_NETWORK and net: + ret.append(net.get_xml_id()) +- elif b == "hd" and disk: ++ elif b == DomainOs.BOOT_DEVICE_HARDDISK and disk: + ret.append(disk.get_xml_id()) +- elif b == "cdrom" and cdrom: ++ elif b == DomainOs.BOOT_DEVICE_CDROM and cdrom: + ret.append(cdrom.get_xml_id()) +- elif b == "fd" and floppy: ++ elif b == DomainOs.BOOT_DEVICE_FLOPPY and floppy: + ret.append(floppy.get_xml_id()) + return ret + +diff --git a/virtinst/install/installer.py b/virtinst/install/installer.py +index 96250f61b..a507c3c7c 100644 +--- a/virtinst/install/installer.py ++++ b/virtinst/install/installer.py +@@ -87,7 +87,7 @@ class Installer: + if cdrom: + cdrom = InstallerTreeMedia.validate_path(self.conn, cdrom) + self._cdrom = cdrom +- self._install_bootdev = "cdrom" ++ self._install_bootdev = DomainOs.BOOT_DEVICE_CDROM + elif location or location_kernel or location_initrd or install_kernel or install_initrd: + self._treemedia = InstallerTreeMedia( + self.conn, +@@ -226,7 +226,7 @@ class Installer: + # windows virtio installs, and booting local disk from PXE) + for disk in guest.devices.disk: + if disk.device == disk.DEVICE_DISK: +- bootdev = "hd" ++ bootdev = DomainOs.BOOT_DEVICE_HARDDISK + if bootdev not in bootorder: + bootorder.append(bootdev) + break +diff --git a/virtinst/virtinstall.py b/virtinst/virtinstall.py +index 612f19a52..5e22931de 100644 +--- a/virtinst/virtinstall.py ++++ b/virtinst/virtinstall.py +@@ -439,7 +439,7 @@ def build_installer(options, guest, installdata): + if options.livecd: + no_install = True + elif options.pxe: +- install_bootdev = "network" ++ install_bootdev = virtinst.DomainOs.BOOT_DEVICE_NETWORK + elif installdata.is_set: + pass + elif options.xmlonly: +-- +2.52.0 diff --git a/virt-manager-virtinst-guest-introduce-can_use_device_boot_order.patch b/virt-manager-virtinst-guest-introduce-can_use_device_boot_order.patch new file mode 100644 index 0000000..fc88d23 --- /dev/null +++ b/virt-manager-virtinst-guest-introduce-can_use_device_boot_order.patch @@ -0,0 +1,48 @@ +From e9265288cb16fd35c81267d4abc635f67af281d7 Mon Sep 17 00:00:00 2001 +Message-ID: +From: Pavel Hrdina +Date: Tue, 2 Dec 2025 21:39:14 +0100 +Subject: [PATCH] virtinst: guest: introduce can_use_device_boot_order + +From: Pavel Hrdina + +Signed-off-by: Pavel Hrdina +(cherry picked from commit 3a25792d90d53ad81bfb4835a146d047a39ef1e5) + +https://issues.redhat.com/browse/RHEL-71842 + +Signed-off-by: Pavel Hrdina +--- + virtManager/object/domain.py | 2 +- + virtinst/guest.py | 3 +++ + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/virtManager/object/domain.py b/virtManager/object/domain.py +index 6fc4f45ce..b8273ba7d 100644 +--- a/virtManager/object/domain.py ++++ b/virtManager/object/domain.py +@@ -1396,7 +1396,7 @@ class vmmDomain(vmmLibvirtObject): + + def can_use_device_boot_order(self): + # Return 'True' if guest can use new style boot device ordering +- return self.conn.support.conn_device_boot_order() ++ return self.get_xmlobj().can_use_device_boot_order() + + def get_bootable_devices(self): + # redirdev can also be marked bootable, but it should be rarely +diff --git a/virtinst/guest.py b/virtinst/guest.py +index a9fbecaec..d13049be0 100644 +--- a/virtinst/guest.py ++++ b/virtinst/guest.py +@@ -475,6 +475,9 @@ class Guest(XMLBuilder): + ret.append(floppy.get_xml_id()) + return ret + ++ def can_use_device_boot_order(self): ++ return self.conn.support.conn_device_boot_order() ++ + def _get_device_boot_order(self): + order = [] + for dev in self.get_bootable_devices(): +-- +2.52.0 diff --git a/virt-manager-virtinst-interface-add-support-for-backend.hostname-and-backend.fqdn.patch b/virt-manager-virtinst-interface-add-support-for-backend.hostname-and-backend.fqdn.patch new file mode 100644 index 0000000..d377394 --- /dev/null +++ b/virt-manager-virtinst-interface-add-support-for-backend.hostname-and-backend.fqdn.patch @@ -0,0 +1,78 @@ +From 936016b96d195eb07e730f90caa1084e62edd208 Mon Sep 17 00:00:00 2001 +Message-ID: <936016b96d195eb07e730f90caa1084e62edd208.1764872379.git.phrdina@redhat.com> +From: Pavel Hrdina +Date: Fri, 21 Nov 2025 10:11:34 +0100 +Subject: [PATCH] virtinst: interface: add support for backend.hostname and + backend.fqdn + +From: Pavel Hrdina + +Signed-off-by: Pavel Hrdina +(cherry picked from commit d57e2e738f37444a48c1e762ee63114583d6348f) + +Resolves: https://issues.redhat.com/browse/RHEL-95370 + +Signed-off-by: Pavel Hrdina +--- + tests/data/cli/compare/virt-install-many-devices.xml | 5 +++++ + tests/test_cli.py | 1 + + virtinst/cli.py | 2 ++ + virtinst/devices/interface.py | 2 ++ + 4 files changed, 10 insertions(+) + +diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml +index 9b8b3c6ba..5edca096d 100644 +--- a/tests/data/cli/compare/virt-install-many-devices.xml ++++ b/tests/data/cli/compare/virt-install-many-devices.xml +@@ -680,6 +680,11 @@ + + + ++ ++ ++ ++ ++ + + + +diff --git a/tests/test_cli.py b/tests/test_cli.py +index daf6e2a80..90f6ab983 100644 +--- a/tests/test_cli.py ++++ b/tests/test_cli.py +@@ -675,6 +675,7 @@ source.reservations.managed=no,source.reservations.source.type=unix,source.reser + --network passt,portForward=8080 + --network passt,portForward0=7000-8000/udp,portForward1=127.0.0.1:2222:22 + --network passt,portForward0=2001:db8:ac10:fd01::1:10:3000-4000:30,portForward1=127.0.0.1:5000-6000:5 ++--network passt,backend.hostname=test,backend.fqdn=test.example.com + --network type=hostdev,source.address.type=pci,source.address.domain=0x0,source.address.bus=0x00,source.address.slot=0x07,source.address.function=0x0 + --network hostdev=pci_0000_00_09_0 + --network hostdev=0:0:4.0 +diff --git a/virtinst/cli.py b/virtinst/cli.py +index 1203b0c8d..ed97e8809 100644 +--- a/virtinst/cli.py ++++ b/virtinst/cli.py +@@ -4272,6 +4272,8 @@ class ParserNetwork(VirtCLIParser): + # Standard XML options + cls.add_arg("type", "type", cb=cls.set_type_cb) + cls.add_arg("backend.type", "backend.type") ++ cls.add_arg("backend.hostname", "backend.hostname") ++ cls.add_arg("backend.fqdn", "backend.fqdn") + cls.add_arg("backend.logFile", "backend.logFile") + cls.add_arg("trustGuestRxFilters", "trustGuestRxFilters", is_onoff=True) + +diff --git a/virtinst/devices/interface.py b/virtinst/devices/interface.py +index 333b92eca..9d82ab586 100644 +--- a/virtinst/devices/interface.py ++++ b/virtinst/devices/interface.py +@@ -132,6 +132,8 @@ class _Backend(XMLBuilder): + XML_NAME = "backend" + + type = XMLProperty("./@type") ++ hostname = XMLProperty("./@hostname") ++ fqdn = XMLProperty("./@fqdn") + logFile = XMLProperty("./@logFile", do_abspath=True) + + +-- +2.52.0 diff --git a/virt-manager-virtinst-remove-legacy-attribute-from-set_boot_order-get_boot_order.patch b/virt-manager-virtinst-remove-legacy-attribute-from-set_boot_order-get_boot_order.patch new file mode 100644 index 0000000..437af2a --- /dev/null +++ b/virt-manager-virtinst-remove-legacy-attribute-from-set_boot_order-get_boot_order.patch @@ -0,0 +1,131 @@ +From 04ea39c21ac551cdfc1a00f456d65a5b775ef6bc Mon Sep 17 00:00:00 2001 +Message-ID: <04ea39c21ac551cdfc1a00f456d65a5b775ef6bc.1764872379.git.phrdina@redhat.com> +From: Pavel Hrdina +Date: Wed, 3 Dec 2025 15:30:49 +0100 +Subject: [PATCH] virtinst: remove legacy attribute from + set_boot_order/get_boot_order + +From: Pavel Hrdina + +Only tests used manual value for the attribute, otherwise we always used +what was detected by conn_device_boot_order() function. + +Remove that attribute and update tests to use unittest.mock.patch where +needed. + +Signed-off-by: Pavel Hrdina +(cherry picked from commit 3985b0746f79d108bab66a21b28e1ecf6e4c415f) + +https://issues.redhat.com/browse/RHEL-71842 + +Signed-off-by: Pavel Hrdina +--- + tests/test_xmlparse.py | 13 +++++++++---- + virtManager/object/domain.py | 6 ++---- + virtinst/guest.py | 16 ++++++++-------- + 3 files changed, 19 insertions(+), 16 deletions(-) + +diff --git a/tests/test_xmlparse.py b/tests/test_xmlparse.py +index 7f150f918..18f124d53 100644 +--- a/tests/test_xmlparse.py ++++ b/tests/test_xmlparse.py +@@ -3,6 +3,8 @@ + # This work is licensed under the GNU GPLv2 or later. + # See the COPYING file in the top-level directory. + ++import unittest ++ + import pytest + + import virtinst +@@ -652,7 +654,8 @@ def testGuestBootorder(): + guest, outfile = _get_test_content(kvmconn, "bootorder") + + assert guest.get_boot_order() == ["./devices/disk[1]"] +- assert guest.get_boot_order(legacy=True) == ["hd"] ++ with unittest.mock.patch("virtinst.Guest.can_use_device_boot_order", return_value=False): ++ assert guest.get_boot_order() == ["hd"] + + legacy_order = ["hd", "fd", "cdrom", "network"] + dev_order = [ +@@ -661,13 +664,15 @@ def testGuestBootorder(): + "./devices/disk[2]", + "./devices/interface[1]", + ] +- guest.set_boot_order(legacy_order, legacy=True) ++ with unittest.mock.patch("virtinst.Guest.can_use_device_boot_order", return_value=False): ++ guest.set_boot_order(legacy_order) ++ assert guest.get_boot_order() == legacy_order + assert guest.get_boot_order() == dev_order +- assert guest.get_boot_order(legacy=True) == legacy_order + + guest.set_boot_order(dev_order) + assert guest.get_boot_order() == dev_order +- assert guest.get_boot_order(legacy=True) == [] ++ with unittest.mock.patch("virtinst.Guest.can_use_device_boot_order", return_value=False): ++ assert guest.get_boot_order() == [] + + _alter_compare(kvmconn, guest.get_xml(), outfile) + +diff --git a/virtManager/object/domain.py b/virtManager/object/domain.py +index b8273ba7d..3e005c0f6 100644 +--- a/virtManager/object/domain.py ++++ b/virtManager/object/domain.py +@@ -762,8 +762,7 @@ class vmmDomain(vmmLibvirtObject): + + guest = self._make_xmlobj_to_define() + if boot_order != _SENTINEL: +- legacy = not self.can_use_device_boot_order() +- guest.set_boot_order(boot_order, legacy=legacy) ++ guest.set_boot_order(boot_order) + + if boot_menu != _SENTINEL: + guest.os.bootmenu_enable = bool(boot_menu) +@@ -1372,8 +1371,7 @@ class vmmDomain(vmmLibvirtObject): + return self.get_xmlobj().description + + def get_boot_order(self): +- legacy = not self.can_use_device_boot_order() +- return self.xmlobj.get_boot_order(legacy=legacy) ++ return self.xmlobj.get_boot_order() + + def get_boot_menu(self): + guest = self.get_xmlobj() +diff --git a/virtinst/guest.py b/virtinst/guest.py +index d13049be0..3f9eb0079 100644 +--- a/virtinst/guest.py ++++ b/virtinst/guest.py +@@ -488,10 +488,10 @@ class Guest(XMLBuilder): + order.sort(key=lambda p: p[1]) + return [p[0] for p in order] + +- def get_boot_order(self, legacy=False): +- if legacy: +- return self.os.bootorder +- return self._get_device_boot_order() or self._convert_old_boot_order(self.os.bootorder) ++ def get_boot_order(self): ++ if self.can_use_device_boot_order(): ++ return self._get_device_boot_order() or self._convert_old_boot_order(self.os.bootorder) ++ return self.os.bootorder + + def _set_device_boot_order(self, boot_order): + """Sets the new device boot order for the domain""" +@@ -506,12 +506,12 @@ class Guest(XMLBuilder): + for boot_idx, dev_xml_id in enumerate(boot_order, 1): + dev_map[dev_xml_id].boot.order = boot_idx + +- def set_boot_order(self, boot_order, legacy=False): ++ def set_boot_order(self, boot_order): + """Modifies the boot order""" +- if legacy: +- self.os.bootorder = boot_order +- else: ++ if self.can_use_device_boot_order(): + self._set_device_boot_order(boot_order) ++ else: ++ self.os.bootorder = boot_order + + def reorder_boot_order(self, dev, boot_index): + """Sets boot order of `dev` to `boot_index` +-- +2.52.0 diff --git a/virt-manager-virtinst-rework-get_boot_order.patch b/virt-manager-virtinst-rework-get_boot_order.patch new file mode 100644 index 0000000..ea6ec27 --- /dev/null +++ b/virt-manager-virtinst-rework-get_boot_order.patch @@ -0,0 +1,62 @@ +From 1b9a11574c1f613d706a610dfa81ef511b65e4ed Mon Sep 17 00:00:00 2001 +Message-ID: <1b9a11574c1f613d706a610dfa81ef511b65e4ed.1764872379.git.phrdina@redhat.com> +From: Pavel Hrdina +Date: Thu, 30 Oct 2025 15:38:26 +0100 +Subject: [PATCH] virtinst: rework get_boot_order + +From: Pavel Hrdina + +Signed-off-by: Pavel Hrdina +(cherry picked from commit 25670b2ee8a31f4d66c75a5bd7f27bc742d1e545) + +https://issues.redhat.com/browse/RHEL-71842 + +Signed-off-by: Pavel Hrdina +--- + virtinst/guest.py | 15 +++------------ + 1 file changed, 3 insertions(+), 12 deletions(-) + +diff --git a/virtinst/guest.py b/virtinst/guest.py +index b790a9c8d..a9fbecaec 100644 +--- a/virtinst/guest.py ++++ b/virtinst/guest.py +@@ -439,15 +439,11 @@ class Guest(XMLBuilder): + # Bootorder helpers # + ##################### + +- def _get_old_boot_order(self): +- return self.os.bootorder +- +- def _convert_old_boot_order(self): ++ def _convert_old_boot_order(self, boot_order): + """Converts the old boot order (e.g. ) into the + per-device boot order format. + + """ +- boot_order = self._get_old_boot_order() + ret = [] + disk = None + cdrom = None +@@ -486,18 +482,13 @@ class Guest(XMLBuilder): + continue + order.append((dev.get_xml_id(), dev.boot.order)) + +- if not order: +- # No devices individually marked bootable, convert traditional +- # boot XML to fine grained +- return self._convert_old_boot_order() +- + order.sort(key=lambda p: p[1]) + return [p[0] for p in order] + + def get_boot_order(self, legacy=False): + if legacy: +- return self._get_old_boot_order() +- return self._get_device_boot_order() ++ return self.os.bootorder ++ return self._get_device_boot_order() or self._convert_old_boot_order(self.os.bootorder) + + def _set_device_boot_order(self, boot_order): + """Sets the new device boot order for the domain""" +-- +2.52.0 diff --git a/virt-manager.spec b/virt-manager.spec index b2a0d0e..a7ba5e9 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -9,7 +9,7 @@ Name: virt-manager Version: 5.1.0 -Release: 1%{?dist}%{?extra_release} +Release: 2%{?dist}%{?extra_release} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -20,6 +20,12 @@ Source0: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.xz Source1: symlinks Patch1: virt-manager-virtinst-cloudinit-include-empty-meta-data-file.patch +Patch2: virt-manager-virtinst-interface-add-support-for-backend.hostname-and-backend.fqdn.patch +Patch3: virt-manager-maint-use-constants-instead-of-strings-for-boot-devices.patch +Patch4: virt-manager-virtinst-rework-get_boot_order.patch +Patch5: virt-manager-virtinst-guest-introduce-can_use_device_boot_order.patch +Patch6: virt-manager-virtinst-remove-legacy-attribute-from-set_boot_order-get_boot_order.patch +Patch7: virt-manager-installer-add-support-to-use-device-boot-order.patch Requires: virt-manager-common = %{verrel} @@ -194,6 +200,14 @@ git commit -q -a --allow-empty --author 'rpm-build ' -m symlinks %changelog +* Thu Dec 4 2025 Pavel Hrdina - 5.1.0-2 +- virtinst: interface: add support for backend.hostname and backend.fqdn (RHEL-95370) +- maint: use constants instead of strings for boot devices (RHEL-71842) +- virtinst: rework get_boot_order (RHEL-71842) +- virtinst: guest: introduce can_use_device_boot_order (RHEL-71842) +- virtinst: remove legacy attribute from set_boot_order/get_boot_order (RHEL-71842) +- installer: add support to use device boot order (RHEL-71842) + * Sat Nov 15 2025 Pavel Hrdina - 5.1.0-1 - Rebased to virt-manager-5.1.0 (RHEL-119228) - The rebase also fixes the following bugs: