Blame SOURCES/virt-manager-domain.numatune-Drop-cpuset-validation.patch

3d61c0
From 14747da70222d66e9b9f7180274d67ed37fee3ee Mon Sep 17 00:00:00 2001
3d61c0
Message-Id: <14747da70222d66e9b9f7180274d67ed37fee3ee@dist-git>
3d61c0
From: Pavel Hrdina <phrdina@redhat.com>
3d61c0
Date: Mon, 4 Jun 2018 14:30:26 -0400
3d61c0
Subject: [PATCH] domain.numatune: Drop cpuset validation
3d61c0
3d61c0
From: Cole Robinson <crobinso@redhat.com>
3d61c0
3d61c0
This type of validation should really be done at the libvirt level,
3d61c0
particularly for a non-mandatory feature like cpuset. Otherwise
3d61c0
it's just more code for us to test which will rarely be hit by users
3d61c0
3d61c0
(cherry picked from commit 39a7cbbad750656a7d89694c3b0341a5ae98d346)
3d61c0
3d61c0
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1566818
3d61c0
3d61c0
Reviewed-by: Cole Robinson <crobinso@redhat.com>
3d61c0
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
3d61c0
---
3d61c0
 tests/clitest.py           |  3 ---
3d61c0
 virtinst/domainnumatune.py | 48 --------------------------------------
3d61c0
 virtinst/guest.py          |  6 +----
3d61c0
 3 files changed, 1 insertion(+), 56 deletions(-)
3d61c0
3d61c0
diff --git a/tests/clitest.py b/tests/clitest.py
3d61c0
index eb608769..5e000194 100644
3d61c0
--- a/tests/clitest.py
3d61c0
+++ b/tests/clitest.py
3d61c0
@@ -600,7 +600,6 @@ c.add_compare("--memory 1024,hotplugmemorymax=2048,hotplugmemoryslots=2 --cpu ce
3d61c0
 ####################################################
3d61c0
 
3d61c0
 c = vinst.add_category("cpuram", "--hvm --nographics --noautoconsole --nodisks --pxe")
3d61c0
-c.add_valid("--vcpus 4 --cpuset=1,3-5,")  # Cpuset with trailing comma
3d61c0
 c.add_valid("--connect %(URI-XEN)s --vcpus 4 --cpuset=auto")  # cpuset=auto but xen doesn't support it
3d61c0
 c.add_valid("--ram 4000000")  # Ram overcommit
3d61c0
 c.add_valid("--vcpus sockets=2,threads=2")  # Topology only
3d61c0
@@ -609,8 +608,6 @@ c.add_valid("--security label=foobar.label,relabel=yes")  # --security implicit
3d61c0
 c.add_valid("--security label=foobar.label,a1,z2,b3,type=static,relabel=no")  # static with commas 1
3d61c0
 c.add_valid("--security label=foobar.label,a1,z2,b3")  # --security static with commas 2
3d61c0
 c.add_compare("--cpuset auto --vcpus 2", "cpuset-auto")  # --cpuset=auto actually works
3d61c0
-c.add_invalid("--vcpus 32 --cpuset=969-1000")  # Bogus cpuset
3d61c0
-c.add_invalid("--vcpus 32 --cpuset=autofoo")  # Bogus cpuset
3d61c0
 c.add_invalid("--clock foo_tickpolicy=merge")  # Unknown timer
3d61c0
 c.add_invalid("--security foobar")  # Busted --security
3d61c0
 
3d61c0
diff --git a/virtinst/domainnumatune.py b/virtinst/domainnumatune.py
3d61c0
index 9795011b..f8797e9c 100644
3d61c0
--- a/virtinst/domainnumatune.py
3d61c0
+++ b/virtinst/domainnumatune.py
3d61c0
@@ -17,61 +17,13 @@
3d61c0
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
3d61c0
 # MA 02110-1301 USA.
3d61c0
 
3d61c0
-import re
3d61c0
-
3d61c0
 from .xmlbuilder import XMLBuilder, XMLProperty
3d61c0
 
3d61c0
 
3d61c0
-def get_phy_cpus(conn):
3d61c0
-    """
3d61c0
-    Get number of physical CPUs.
3d61c0
-    """
3d61c0
-    hostinfo = conn.getInfo()
3d61c0
-    pcpus = hostinfo[4] * hostinfo[5] * hostinfo[6] * hostinfo[7]
3d61c0
-    return pcpus
3d61c0
-
3d61c0
-
3d61c0
 class DomainNumatune(XMLBuilder):
3d61c0
     """
3d61c0
     Class for generating <numatune> XML
3d61c0
     """
3d61c0
-
3d61c0
-    @staticmethod
3d61c0
-    def validate_cpuset(conn, val):
3d61c0
-        if val is None or val == "":
3d61c0
-            return
3d61c0
-
3d61c0
-        if not isinstance(val, str) or len(val) == 0:
3d61c0
-            raise ValueError(_("cpuset must be string"))
3d61c0
-        if re.match("^[0-9,-^]*$", val) is None:
3d61c0
-            raise ValueError(_("cpuset can only contain numeric, ',', '^', or "
3d61c0
-                               "'-' characters"))
3d61c0
-
3d61c0
-        pcpus = get_phy_cpus(conn)
3d61c0
-        for c in val.split(','):
3d61c0
-            # Redundant commas
3d61c0
-            if not c:
3d61c0
-                continue
3d61c0
-
3d61c0
-            if "-" in c:
3d61c0
-                (x, y) = c.split('-', 1)
3d61c0
-                x = int(x)
3d61c0
-                y = int(y)
3d61c0
-                if x > y:
3d61c0
-                    raise ValueError(_("cpuset contains invalid format."))
3d61c0
-                if x >= pcpus or y >= pcpus:
3d61c0
-                    raise ValueError(_("cpuset's pCPU numbers must be less "
3d61c0
-                                       "than pCPUs."))
3d61c0
-            else:
3d61c0
-                if c.startswith("^"):
3d61c0
-                    c = c[1:]
3d61c0
-                c = int(c)
3d61c0
-
3d61c0
-                if c >= pcpus:
3d61c0
-                    raise ValueError(_("cpuset's pCPU numbers must be less "
3d61c0
-                                       "than pCPUs."))
3d61c0
-
3d61c0
-
3d61c0
     _XML_ROOT_NAME = "numatune"
3d61c0
     _XML_PROP_ORDER = ["memory_mode", "memory_nodeset"]
3d61c0
 
3d61c0
diff --git a/virtinst/guest.py b/virtinst/guest.py
3d61c0
index a19b8999..04a64aa2 100644
3d61c0
--- a/virtinst/guest.py
3d61c0
+++ b/virtinst/guest.py
3d61c0
@@ -182,11 +182,7 @@ class Guest(XMLBuilder):
3d61c0
                         default_cb=lambda s: 1)
3d61c0
     curvcpus = XMLProperty("./vcpu/@current", is_int=True)
3d61c0
     vcpu_placement = XMLProperty("./vcpu/@placement")
3d61c0
-
3d61c0
-    def _validate_cpuset(self, val):
3d61c0
-        DomainNumatune.validate_cpuset(self.conn, val)
3d61c0
-    cpuset = XMLProperty("./vcpu/@cpuset",
3d61c0
-                         validate_cb=_validate_cpuset)
3d61c0
+    cpuset = XMLProperty("./vcpu/@cpuset")
3d61c0
 
3d61c0
     def _get_default_uuid(self):
3d61c0
         if self._random_uuid is None:
3d61c0
-- 
3d61c0
2.20.1
3d61c0