Merge "libvirt: Add basic xml generation for firmware auto selection"

This commit is contained in:
Zuul
2026-02-24 20:11:42 +00:00
committed by Gerrit Code Review
2 changed files with 18 additions and 0 deletions
@@ -2896,6 +2896,7 @@ class LibvirtConfigGuestTest(LibvirtConfigBaseTest):
obj.os_mach_type = "pc-q35-5.1" obj.os_mach_type = "pc-q35-5.1"
obj.os_loader_secure = secure obj.os_loader_secure = secure
obj.os_loader_stateless = stateless obj.os_loader_stateless = stateless
return obj.to_xml() return obj.to_xml()
def test_config_uefi_autoconfigure(self): def test_config_uefi_autoconfigure(self):
@@ -2910,6 +2911,9 @@ class LibvirtConfigGuestTest(LibvirtConfigBaseTest):
<memory>104857600</memory> <memory>104857600</memory>
<vcpu>1</vcpu> <vcpu>1</vcpu>
<os firmware="efi"> <os firmware="efi">
<firmware>
<feature enabled='no' name='secure-boot'/>
</firmware>
<type machine="pc-q35-5.1">hvm</type> <type machine="pc-q35-5.1">hvm</type>
<loader secure="no"/> <loader secure="no"/>
</os> </os>
@@ -2928,6 +2932,9 @@ class LibvirtConfigGuestTest(LibvirtConfigBaseTest):
<memory>104857600</memory> <memory>104857600</memory>
<vcpu>1</vcpu> <vcpu>1</vcpu>
<os firmware="efi"> <os firmware="efi">
<firmware>
<feature enabled='yes' name='secure-boot'/>
</firmware>
<type machine="pc-q35-5.1">hvm</type> <type machine="pc-q35-5.1">hvm</type>
<loader secure="yes"/> <loader secure="yes"/>
</os> </os>
@@ -2946,6 +2953,9 @@ class LibvirtConfigGuestTest(LibvirtConfigBaseTest):
<memory>104857600</memory> <memory>104857600</memory>
<vcpu>1</vcpu> <vcpu>1</vcpu>
<os firmware="efi"> <os firmware="efi">
<firmware>
<feature enabled='no' name='secure-boot'/>
</firmware>
<type machine="pc-q35-5.1">hvm</type> <type machine="pc-q35-5.1">hvm</type>
<loader stateless="yes" secure="no"/> <loader stateless="yes" secure="no"/>
</os> </os>
+8
View File
@@ -3184,6 +3184,14 @@ class LibvirtConfigGuest(LibvirtConfigObject):
if self.os_firmware is not None: if self.os_firmware is not None:
os.set("firmware", self.os_firmware) os.set("firmware", self.os_firmware)
if self.os_loader_secure is not None:
firmware = etree.Element("firmware")
sb_feature = etree.Element("feature")
sb_feature.set("name", "secure-boot")
sb_feature.set(
"enabled", self.get_yes_no_str(self.os_loader_secure))
firmware.append(sb_feature)
os.append(firmware)
type_node = self._text_node("type", self.os_type) type_node = self._text_node("type", self.os_type)
if self.os_arch is not None: if self.os_arch is not None: