Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package virt-manager for openSUSE:Factory 
checked in at 2025-08-09 19:58:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-manager (Old)
 and      /work/SRC/openSUSE:Factory/.virt-manager.new.1085 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virt-manager"

Sat Aug  9 19:58:47 2025 rev:277 rq:1298223 version:5.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes        
2025-06-26 14:06:29.540795283 +0200
+++ /work/SRC/openSUSE:Factory/.virt-manager.new.1085/virt-manager.changes      
2025-08-09 20:04:51.818883544 +0200
@@ -1,0 +2,6 @@
+Mon Jul 28 10:49:22 MDT 2025 - carn...@suse.com
+
+- Add support for creating TDX guests in virt-install
+  053-virtinst-add-support-for-creating-TDX-guests.patch
+
+-------------------------------------------------------------------
@@ -3477 +3483 @@
-Thu Jan 07 14:25:13 MDT 2014 - carn...@suse.com
+Tue Jan 07 14:25:13 MST 2014 - carn...@suse.com
@@ -3494 +3500 @@
-Mon Dec  9 16:35:32 MDT 2013 - carn...@suse.com
+Mon Dec  9 16:35:32 MST 2013 - carn...@suse.com
@@ -3506 +3512 @@
-Mon Nov 25 16:12:07 MDT 2013 - carn...@suse.com
+Mon Nov 25 16:12:07 MST 2013 - carn...@suse.com
@@ -3941 +3947 @@
-Thu Mar 21 13:34:41 MST 2011 - carn...@novell.com
+Thu Mar 21 13:34:41 MDT 2011 - carn...@novell.com

New:
----
  053-virtinst-add-support-for-creating-TDX-guests.patch

----------(New B)----------
  New:- Add support for creating TDX guests in virt-install
  053-virtinst-add-support-for-creating-TDX-guests.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ virt-manager.spec ++++++
--- /var/tmp/diff_new_pack.LvMElZ/_old  2025-08-09 20:04:53.542956030 +0200
+++ /var/tmp/diff_new_pack.LvMElZ/_new  2025-08-09 20:04:53.546956198 +0200
@@ -1,5 +1,5 @@
 #
-# spec file
+# spec file for package virt-manager
 #
 # Copyright (c) 2025 SUSE LLC
 #
@@ -86,6 +86,7 @@
 Patch50:        050-Validation-allow-spaces-disallow-slashes.patch
 Patch51:        051-fix-default-start_folder-to-None.patch
 Patch52:        
052-Add-Ctrl+Alt+Shift+Esc-key-command-for-loginds-SecureAttentionKey.patch
+Patch53:        053-virtinst-add-support-for-creating-TDX-guests.patch
 Patch100:       
revert-363fca41-virt-install-Require-osinfo-for-non-x86-HVM-case-too.patch
 # SUSE Only
 Patch150:       virtman-desktop.patch
@@ -302,6 +303,10 @@
 donttest="$donttest or testCLI0460virt_clone"
 donttest="$donttest or testCLI0461virt_clone"
 donttest="$donttest or testCLI0468virt_clone"
+donttest="$donttest or testCLI0472virt_clone_x86_64_launch_security_tdx"
+donttest="$donttest or testCLI0473virt_clone_x86_64_launch_security_tdx_qgs"
+donttest="$donttest or testCLI0474virt_clone_x86_64_launch_security_tdx_full"
+donttest="$donttest or testCLI0475virt_clone"
 donttest="$donttest or test_virtinstall_no_testsuite"
 donttest="$donttest or testCheckXMLBuilderProps"
 donttest="$donttest or testCheckCLISuboptions"

++++++ 051-fix-default-start_folder-to-None.patch ++++++
--- /var/tmp/diff_new_pack.LvMElZ/_old  2025-08-09 20:04:53.786966289 +0200
+++ /var/tmp/diff_new_pack.LvMElZ/_new  2025-08-09 20:04:53.790966457 +0200
@@ -4,11 +4,9 @@
 Git: 62f976a61b0363b9e6a0eac1fd2e8553d24d5457
 
 
-diff --git a/virtManager/storagebrowse.py b/virtManager/storagebrowse.py
-index 8e8239b4d..d8c70c925 100644
 --- a/virtManager/storagebrowse.py
 +++ b/virtManager/storagebrowse.py
-@@ -176,6 +176,7 @@ class vmmStorageBrowser(vmmGObjectUI):
+@@ -181,6 +181,7 @@ class vmmStorageBrowser(vmmGObjectUI):
          data = _BrowseReasonMetadata(self._browse_reason)
          gsettings_key = data.gsettings_key
  

++++++ 
052-Add-Ctrl+Alt+Shift+Esc-key-command-for-loginds-SecureAttentionKey.patch 
++++++
--- /var/tmp/diff_new_pack.LvMElZ/_old  2025-08-09 20:04:53.806967130 +0200
+++ /var/tmp/diff_new_pack.LvMElZ/_new  2025-08-09 20:04:53.822967803 +0200
@@ -7,11 +7,9 @@
 Ctrl+Alt+Shift+Esc that emits SecureAttentionKey to allow login managers to 
start
 or switch back to the greeter
 
-diff --git a/virtManager/details/console.py b/virtManager/details/console.py
-index 54b587772..e68bb9ac8 100644
 --- a/virtManager/details/console.py
 +++ b/virtManager/details/console.py
-@@ -120,6 +120,7 @@ def build_keycombo_menu(on_send_key_fn):
+@@ -119,6 +119,7 @@ def build_keycombo_menu(on_send_key_fn):
  
      make_item("<Control><Alt>BackSpace", ["Control_L", "Alt_L", "BackSpace"])
      make_item("<Control><Alt>Delete", ["Control_L", "Alt_L", "Delete"])

++++++ 053-virtinst-add-support-for-creating-TDX-guests.patch ++++++
Subject: virtinst: add support for creating TDX guests
From: Daniel P. Berrangé berra...@redhat.com Tue Jul 8 14:25:17 2025 +0100
Date: Mon Jul 28 15:12:08 2025 +0200:
Git: 1ead880b2e51ae3fab5e103c05fd9cb1c921ec89

A minimal config to enable TDX, with support for attestation
would be

 $ virt-install
     ...args...
     --boot uefi \
     --machine q35 \
     --launchSecurity type=tdx,quoteGenerationService=on

Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>

--- /dev/null
+++ b/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx-full.xml
@@ -0,0 +1,83 @@
+<domain type="kvm">
+  <name>vm1</name>
+  <uuid>00000000-1111-2222-3333-444444444444</uuid>
+  <memory>65536</memory>
+  <currentMemory>65536</currentMemory>
+  <vcpu>1</vcpu>
+  <os firmware="efi">
+    <type arch="x86_64" machine="q35">hvm</type>
+    <boot dev="hd"/>
+  </os>
+  <features>
+    <acpi/>
+    <apic/>
+    <vmport state="off"/>
+  </features>
+  <cpu mode="host-passthrough"/>
+  <clock offset="utc">
+    <timer name="rtc" tickpolicy="catchup"/>
+    <timer name="pit" tickpolicy="delay"/>
+    <timer name="hpet" present="no"/>
+  </clock>
+  <pm>
+    <suspend-to-mem enabled="no"/>
+    <suspend-to-disk enabled="no"/>
+  </pm>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+    <controller type="usb" model="ich9-ehci1"/>
+    <controller type="usb" model="ich9-uhci1">
+      <master startport="0"/>
+    </controller>
+    <controller type="usb" model="ich9-uhci2">
+      <master startport="2"/>
+    </controller>
+    <controller type="usb" model="ich9-uhci3">
+      <master startport="4"/>
+    </controller>
+    <controller type="pci" model="pcie-root"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <interface type="bridge">
+      <source bridge="testsuitebr0"/>
+      <mac address="00:11:22:33:44:55"/>
+      <model type="e1000e"/>
+    </interface>
+    <console type="pty"/>
+    <channel type="spicevmc">
+      <target type="virtio" name="com.redhat.spice.0"/>
+    </channel>
+    <input type="tablet" bus="usb"/>
+    <tpm model="tpm-crb">
+      <backend type="emulator"/>
+    </tpm>
+    <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
+      <image compression="off"/>
+    </graphics>
+    <sound model="ich9"/>
+    <video>
+      <model type="qxl"/>
+    </video>
+    <redirdev bus="usb" type="spicevmc"/>
+    <redirdev bus="usb" type="spicevmc"/>
+  </devices>
+  <launchSecurity type="tdx">
+    <policy>0x10000000</policy>
+    
<mrConfigId>ASNFZ4mrze8BI0VniavN7wEjRWeJq83vASNFZ4mrze8BI0VniavN7wEjRWeJq83v</mrConfigId>
+    
<mrOwner>ASNFZ4mrze8BI0VniavN7wEjRWeJq83vASNFZ4mrze8BI0VniavN7wEjRWeJq83v</mrOwner>
+    
<mrOwnerConfig>ASNFZ4mrze8BI0VniavN7wEjRWeJq83vASNFZ4mrze8BI0VniavN7wEjRWeJq83v</mrOwnerConfig>
+    <quoteGenerationService path="/var/run/tdx-qgs/qgs.socket"/>
+  </launchSecurity>
+</domain>
--- /dev/null
+++ b/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx-qgs.xml
@@ -0,0 +1,79 @@
+<domain type="kvm">
+  <name>vm1</name>
+  <uuid>00000000-1111-2222-3333-444444444444</uuid>
+  <memory>65536</memory>
+  <currentMemory>65536</currentMemory>
+  <vcpu>1</vcpu>
+  <os firmware="efi">
+    <type arch="x86_64" machine="q35">hvm</type>
+    <boot dev="hd"/>
+  </os>
+  <features>
+    <acpi/>
+    <apic/>
+    <vmport state="off"/>
+  </features>
+  <cpu mode="host-passthrough"/>
+  <clock offset="utc">
+    <timer name="rtc" tickpolicy="catchup"/>
+    <timer name="pit" tickpolicy="delay"/>
+    <timer name="hpet" present="no"/>
+  </clock>
+  <pm>
+    <suspend-to-mem enabled="no"/>
+    <suspend-to-disk enabled="no"/>
+  </pm>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+    <controller type="usb" model="ich9-ehci1"/>
+    <controller type="usb" model="ich9-uhci1">
+      <master startport="0"/>
+    </controller>
+    <controller type="usb" model="ich9-uhci2">
+      <master startport="2"/>
+    </controller>
+    <controller type="usb" model="ich9-uhci3">
+      <master startport="4"/>
+    </controller>
+    <controller type="pci" model="pcie-root"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <interface type="bridge">
+      <source bridge="testsuitebr0"/>
+      <mac address="00:11:22:33:44:55"/>
+      <model type="e1000e"/>
+    </interface>
+    <console type="pty"/>
+    <channel type="spicevmc">
+      <target type="virtio" name="com.redhat.spice.0"/>
+    </channel>
+    <input type="tablet" bus="usb"/>
+    <tpm model="tpm-crb">
+      <backend type="emulator"/>
+    </tpm>
+    <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
+      <image compression="off"/>
+    </graphics>
+    <sound model="ich9"/>
+    <video>
+      <model type="qxl"/>
+    </video>
+    <redirdev bus="usb" type="spicevmc"/>
+    <redirdev bus="usb" type="spicevmc"/>
+  </devices>
+  <launchSecurity type="tdx">
+    <quoteGenerationService/>
+  </launchSecurity>
+</domain>
--- /dev/null
+++ b/tests/data/cli/compare/virt-install-x86_64-launch-security-tdx.xml
@@ -0,0 +1,79 @@
+<domain type="kvm">
+  <name>vm1</name>
+  <uuid>00000000-1111-2222-3333-444444444444</uuid>
+  <memory>65536</memory>
+  <currentMemory>65536</currentMemory>
+  <vcpu>1</vcpu>
+  <os firmware="efi">
+    <type arch="x86_64" machine="q35">hvm</type>
+    <boot dev="hd"/>
+  </os>
+  <features>
+    <acpi/>
+    <apic/>
+    <vmport state="off"/>
+  </features>
+  <cpu mode="host-passthrough"/>
+  <clock offset="utc">
+    <timer name="rtc" tickpolicy="catchup"/>
+    <timer name="pit" tickpolicy="delay"/>
+    <timer name="hpet" present="no"/>
+  </clock>
+  <pm>
+    <suspend-to-mem enabled="no"/>
+    <suspend-to-disk enabled="no"/>
+  </pm>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+    <controller type="usb" model="ich9-ehci1"/>
+    <controller type="usb" model="ich9-uhci1">
+      <master startport="0"/>
+    </controller>
+    <controller type="usb" model="ich9-uhci2">
+      <master startport="2"/>
+    </controller>
+    <controller type="usb" model="ich9-uhci3">
+      <master startport="4"/>
+    </controller>
+    <controller type="pci" model="pcie-root"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <controller type="pci" model="pcie-root-port"/>
+    <interface type="bridge">
+      <source bridge="testsuitebr0"/>
+      <mac address="00:11:22:33:44:55"/>
+      <model type="e1000e"/>
+    </interface>
+    <console type="pty"/>
+    <channel type="spicevmc">
+      <target type="virtio" name="com.redhat.spice.0"/>
+    </channel>
+    <input type="tablet" bus="usb"/>
+    <tpm model="tpm-crb">
+      <backend type="emulator"/>
+    </tpm>
+    <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
+      <image compression="off"/>
+    </graphics>
+    <sound model="ich9"/>
+    <video>
+      <model type="qxl"/>
+    </video>
+    <redirdev bus="usb" type="spicevmc"/>
+    <redirdev bus="usb" type="spicevmc"/>
+  </devices>
+  <launchSecurity type="tdx">
+    <policy>0x10000000</policy>
+  </launchSecurity>
+</domain>
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -1814,6 +1814,27 @@ def _make_testcases():
         testfunc = _create_testfunc(cmd, do_setup)
         globals()[name] = testfunc
 
+c.add_compare(
+    "--boot uefi --machine q35 --launchSecurity type=tdx,policy=0x10000000",
+    "x86_64-launch-security-tdx",
+    prerun_check="11.6.0",
+)
+c.add_compare(
+    "--boot uefi --machine q35 --launchSecurity 
type=tdx,quoteGenerationService=on",
+    "x86_64-launch-security-tdx-qgs",
+    prerun_check="11.6.0",
+)
+c.add_compare(
+    "--boot uefi --machine q35 --launchSecurity 
type=tdx,policy=0x10000000,mrConfigId=ASNFZ4mrze8BI0VniavN7wEjRWeJq83vASNFZ4mrze8BI0VniavN7wEjRWeJq83v,mrOwner=ASNFZ4mrze8BI0VniavN7wEjRWeJq83vASNFZ4mrze8BI0VniavN7wEjRWeJq83v,mrOwnerConfig=ASNFZ4mrze8BI0VniavN7wEjRWeJq83vASNFZ4mrze8BI0VniavN7wEjRWeJq83v,quoteGenerationSocket=/var/run/tdx-qgs/qgs.socket",
+    "x86_64-launch-security-tdx-full",
+    prerun_check="11.6.0",
+)
+c.add_invalid(
+    "--machine pc --launchSecurity type=tdx,policy=0x10000000",
+    grep="TDX launch security requires a Q35 UEFI machine",
+    prerun_check="11.6.0",
+)
+
 
 _make_testcases()
 atexit.register(cleanup)
--- a/virtinst/cli.py
+++ b/virtinst/cli.py
@@ -5041,6 +5041,11 @@ class ParserLaunchSecurity(VirtCLIParser
         cls.add_arg("kernelHashes", "kernelHashes", is_onoff=True)
         cls.add_arg("authorKey", "authorKey", is_onoff=True)
         cls.add_arg("vcek", "vcek", is_onoff=True)
+        cls.add_arg("mrConfigId", "mrConfigId")
+        cls.add_arg("mrOwner", "mrOwner")
+        cls.add_arg("mrOwnerConfig", "mrOwnerConfig")
+        cls.add_arg("quoteGenerationService", "quoteGenerationService", 
is_onoff=True)
+        cls.add_arg("quoteGenerationSocket", "quoteGenerationSocket")
 
 
 ###########################
--- a/virtinst/domain/launch_security.py
+++ b/virtinst/domain/launch_security.py
@@ -23,6 +23,11 @@ class DomainLaunchSecurity(XMLBuilder):
     kernelHashes = XMLProperty("./@kernelHashes", is_yesno=True)
     authorKey = XMLProperty("./@authorKey", is_yesno=True)
     vcek = XMLProperty("./@vcek", is_yesno=True)
+    mrConfigId = XMLProperty("./mrConfigId")
+    mrOwner = XMLProperty("./mrOwner")
+    mrOwnerConfig = XMLProperty("./mrOwnerConfig")
+    quoteGenerationService = XMLProperty("./quoteGenerationService", 
is_bool=True)
+    quoteGenerationSocket = XMLProperty("./quoteGenerationService/@path")
 
     def _set_defaults_sev(self, guest):
         if not guest.os.is_q35() or not guest.is_uefi():
@@ -42,8 +47,14 @@ class DomainLaunchSecurity(XMLBuilder):
         if not guest.os.is_q35() or not guest.is_uefi():
             raise RuntimeError(_("SEV-SNP launch security requires a Q35 UEFI 
machine"))
 
+    def _set_defaults_tdx(self, guest):
+        if not guest.os.is_q35() or not guest.is_uefi():
+            raise RuntimeError(_("TDX launch security requires a Q35 UEFI 
machine"))
+
     def set_defaults(self, guest):
         if self.type == "sev":
             return self._set_defaults_sev(guest)
         elif self.type == "sev-snp":
             return self._set_defaults_sev_snp(guest)
+        elif self.type == "tdx":
+            return self._set_defaults_tdx(guest)

++++++ virtinst-dont-require-uefi-for-sev-snp.patch ++++++
--- /var/tmp/diff_new_pack.LvMElZ/_old  2025-08-09 20:04:53.946973016 +0200
+++ /var/tmp/diff_new_pack.LvMElZ/_new  2025-08-09 20:04:53.950973185 +0200
@@ -4,9 +4,11 @@
 via a pflash device. For SNP guests, the firmware must be provided
 as a ROM device.
 
---- virt-manager-5.0.0/virtinst/domain/launch_security.py.orig 2025-03-06 
10:02:31.600954861 -0700
-+++ virt-manager-5.0.0/virtinst/domain/launch_security.py      2025-03-06 
14:42:46.001355525 -0700
-@@ -43,7 +43,7 @@ class DomainLaunchSecurity(XMLBuilder):
+Index: virt-manager-5.0.0/virtinst/domain/launch_security.py
+===================================================================
+--- virt-manager-5.0.0.orig/virtinst/domain/launch_security.py
++++ virt-manager-5.0.0/virtinst/domain/launch_security.py
+@@ -48,7 +48,7 @@ class DomainLaunchSecurity(XMLBuilder):
                  self.policy = "0x07"
  
      def _set_defaults_sev_snp(self, guest):
@@ -14,5 +16,5 @@
 +        if not guest.os.is_q35():
              raise RuntimeError(_("SEV-SNP launch security requires a Q35 UEFI 
machine"))
  
-     def set_defaults(self, guest):
+     def _set_defaults_tdx(self, guest):
 

++++++ virtman-add-sev-memory-support.patch ++++++
--- /var/tmp/diff_new_pack.LvMElZ/_old  2025-08-09 20:04:54.022976212 +0200
+++ /var/tmp/diff_new_pack.LvMElZ/_new  2025-08-09 20:04:54.026976380 +0200
@@ -171,8 +171,8 @@
 ===================================================================
 --- virt-manager-5.0.0.orig/virtinst/domain/launch_security.py
 +++ virt-manager-5.0.0/virtinst/domain/launch_security.py
-@@ -25,8 +25,12 @@ class DomainLaunchSecurity(XMLBuilder):
-     vcek = XMLProperty("./@vcek", is_yesno=True)
+@@ -30,8 +30,12 @@ class DomainLaunchSecurity(XMLBuilder):
+     quoteGenerationSocket = XMLProperty("./quoteGenerationService/@path")
  
      def _set_defaults_sev(self, guest):
 -        if not guest.os.is_q35() or not guest.is_uefi():

Reply via email to