virt-manager/virt-manager-virtinst-remove-legacy-attribute-from-set_boot_order-get_boot_order.patch
Pavel Hrdina e349f3e9b2 virt-manager-5.1.0-2.el10
- 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)

Resolves: RHEL-71842, RHEL-95370
2025-12-04 19:19:39 +01:00

132 lines
4.8 KiB
Diff

From 04ea39c21ac551cdfc1a00f456d65a5b775ef6bc Mon Sep 17 00:00:00 2001
Message-ID: <04ea39c21ac551cdfc1a00f456d65a5b775ef6bc.1764872379.git.phrdina@redhat.com>
From: Pavel Hrdina <phrdina@redhat.com>
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 <phrdina@redhat.com>
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 <phrdina@redhat.com>
(cherry picked from commit 3985b0746f79d108bab66a21b28e1ecf6e4c415f)
https://issues.redhat.com/browse/RHEL-71842
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
---
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