File 017-maint-use-constants-instead-of-strings-for-boot-devices.patch of Package virt-manager

Subject: maint: use constants instead of strings for boot devices
From: Pavel Hrdina phrdina@redhat.com Fri Oct 17 16:32:33 2025 +0200
Date: Thu Dec 4 16:55:51 2025 +0100:
Git: 161fb1baaff45f260b278e9df900293ab12da820

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>

diff --git a/virtManager/details/details.py b/virtManager/details/details.py
index 22a44719c..6cadf8bf0 100644
--- a/virtManager/details/details.py
+++ b/virtManager/details/details.py
@@ -2274,10 +2274,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 b1499ef67..346043287 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:
openSUSE Build Service is sponsored by