File 082-virtinst-add-external-snapshot-capability.patch of Package virt-manager

Subject: virtinst: add external snapshot capability
From: Pavel Hrdina phrdina@redhat.com Tue Jan 23 12:02:43 2024 +0100
Date: Mon Mar 25 13:21:50 2024 +0100:
Git: 3cde1acbb631687dfae589e121bb5d08785ede88

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

diff --git a/tests/data/capabilities/kvm-x86_64.xml b/tests/data/capabilities/kvm-x86_64.xml
index 1ee90751..0c818b50 100644
--- a/tests/data/capabilities/kvm-x86_64.xml
+++ b/tests/data/capabilities/kvm-x86_64.xml
@@ -194,6 +194,7 @@
       <cpuselection/>
       <deviceboot/>
       <disksnapshot default='on' toggle='no'/>
+      <externalSnapshot/>
     </features>
   </guest>
 
@@ -300,6 +301,7 @@
       <cpuselection/>
       <deviceboot/>
       <disksnapshot default='on' toggle='no'/>
+      <externalSnapshot/>
     </features>
   </guest>
 
@@ -413,6 +415,7 @@
       <cpuselection/>
       <deviceboot/>
       <disksnapshot default='on' toggle='no'/>
+      <externalSnapshot/>
     </features>
   </guest>
 
@@ -488,6 +491,7 @@
       <cpuselection/>
       <deviceboot/>
       <disksnapshot default='on' toggle='no'/>
+      <externalSnapshot/>
     </features>
   </guest>
 
@@ -513,6 +517,7 @@
       <cpuselection/>
       <deviceboot/>
       <disksnapshot default='on' toggle='no'/>
+      <externalSnapshot/>
     </features>
   </guest>
 
@@ -566,6 +571,7 @@
       <cpuselection/>
       <deviceboot/>
       <disksnapshot default='on' toggle='no'/>
+      <externalSnapshot/>
     </features>
   </guest>
 
@@ -619,6 +625,7 @@
       <cpuselection/>
       <deviceboot/>
       <disksnapshot default='on' toggle='no'/>
+      <externalSnapshot/>
     </features>
   </guest>
 
@@ -653,6 +660,7 @@
       <cpuselection/>
       <deviceboot/>
       <disksnapshot default='on' toggle='no'/>
+      <externalSnapshot/>
     </features>
   </guest>
 
@@ -726,6 +734,7 @@
       <cpuselection/>
       <deviceboot/>
       <disksnapshot default='on' toggle='no'/>
+      <externalSnapshot/>
     </features>
   </guest>
 
diff --git a/tests/test_capabilities.py b/tests/test_capabilities.py
index 70c9de6f..8fe82b1b 100644
--- a/tests/test_capabilities.py
+++ b/tests/test_capabilities.py
@@ -51,6 +51,13 @@ def testCapsUtilFuncs():
         caps_empty.guest_lookup()
 
 
+def testGuestCapabilities():
+    filename = "kvm-x86_64.xml"
+    caps = _buildCaps(filename)
+
+    assert caps.guests[0].supports_externalSnapshot() is True
+
+
 ##############################
 # domcapabilities.py testing #
 ##############################
diff --git a/virtinst/capabilities.py b/virtinst/capabilities.py
index 5549a65c..24b1aac7 100644
--- a/virtinst/capabilities.py
+++ b/virtinst/capabilities.py
@@ -97,6 +97,7 @@ class _CapsGuestFeatures(XMLBuilder):
     pae = XMLProperty("./pae", is_bool=True)
     acpi = XMLProperty("./acpi/@default", is_onoff=True)
     apic = XMLProperty("./apic/@default", is_onoff=True)
+    externalSnapshot = XMLProperty("./externalSnapshot", is_bool=True)
 
 
 class _CapsGuest(XMLBuilder):
@@ -166,6 +167,12 @@ class _CapsGuest(XMLBuilder):
         """
         return bool(self.features.apic)
 
+    def supports_externalSnapshot(self):
+        """
+        Return True if capabilities report support for external snapshots
+        """
+        return bool(self.features.externalSnapshot)
+
 
 ############################
 # Main capabilities object #
openSUSE Build Service is sponsored by