File 8d9743d6-virt-install-Add-support-for-xenbus-controller.patch of Package virt-manager

Subject: virt-install: Add support for xenbus controller
From: Jim Fehlig jfehlig@suse.com Wed Mar 20 14:24:41 2019 -0600
Date: Thu Mar 21 14:15:40 2019 -0400:
Git: 8d9743d69f5a197d959995552bda380a44e583b4

libvirt commit 09eb1ae0 added support for a new 'xenbus' controller
type. Add support for the controller in virtinst, including support
for the maxGrantFrames attribute.

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Jim Fehlig <jfehlig@suse.com>

Index: virt-manager-2.1.0/tests/cli-test-xml/compare/virt-install-many-devices.xml
===================================================================
--- virt-manager-2.1.0.orig/tests/cli-test-xml/compare/virt-install-many-devices.xml
+++ virt-manager-2.1.0/tests/cli-test-xml/compare/virt-install-many-devices.xml
@@ -184,6 +184,7 @@
       <master startport="4"/>
       <address type="pci" domain="0" bus="0" slot="4" function="2"/>
     </controller>
+    <controller type="xenbus" index="0" maxGrantFrames="64"/>
     <filesystem type="mount" accessmode="mapped">
       <source dir="/source"/>
       <target dir="/target"/>
Index: virt-manager-2.1.0/tests/cli-test-xml/compare/virt-install-xen-pv.xml
===================================================================
--- virt-manager-2.1.0.orig/tests/cli-test-xml/compare/virt-install-xen-pv.xml
+++ virt-manager-2.1.0/tests/cli-test-xml/compare/virt-install-xen-pv.xml
@@ -22,6 +22,7 @@
       <source file="/dev/default-pool/testvol1.img"/>
       <target dev="xvda" bus="xen"/>
     </disk>
+    <controller type="xenbus" index="0" maxGrantFrames="64"/>
     <interface type="bridge">
       <source bridge="eth0"/>
       <mac address="00:11:22:33:44:55"/>
@@ -51,6 +52,7 @@
       <source file="/dev/default-pool/testvol1.img"/>
       <target dev="xvda" bus="xen"/>
     </disk>
+    <controller type="xenbus" index="0" maxGrantFrames="64"/>
     <interface type="bridge">
       <source bridge="eth0"/>
       <mac address="00:11:22:33:44:55"/>
Index: virt-manager-2.1.0/tests/clitest.py
===================================================================
--- virt-manager-2.1.0.orig/tests/clitest.py
+++ virt-manager-2.1.0/tests/clitest.py
@@ -509,6 +509,7 @@ c.add_compare(""" \
 --controller usb,model=ich9-uhci1,address=0:0:4.0,index=0,master=0,address.multifunction=on \
 --controller usb,model=ich9-uhci2,address=0:0:4.1,index=0,master=2 \
 --controller usb,model=ich9-uhci3,address=0:0:4.2,index=0,master=4 \
+--controller xenbus,maxGrantFrames=64 \
 \
 --input type=keyboard,bus=usb \
 --input tablet \
@@ -824,7 +825,7 @@ c.add_compare("--init /usr/bin/httpd", "
 c = vinst.add_category("xen", "--noautoconsole --connect " + utils.URIs.xen)
 c.add_valid("--disk %(EXISTIMG1)s --location %(TREEDIR)s --paravirt --graphics none")  # Xen PV install headless
 c.add_compare("--disk %(EXISTIMG1)s --import", "xen-default")  # Xen default
-c.add_compare("--disk %(EXISTIMG1)s --location %(TREEDIR)s --paravirt", "xen-pv")  # Xen PV
+c.add_compare("--disk %(EXISTIMG1)s --location %(TREEDIR)s --paravirt --controller xenbus,maxGrantFrames=64", "xen-pv")  # Xen PV
 c.add_compare("--disk  /iscsi-pool/diskvol1 --cdrom %(EXISTIMG1)s --livecd --hvm", "xen-hvm")  # Xen HVM
 
 
Index: virt-manager-2.1.0/virtinst/cli.py
===================================================================
--- virt-manager-2.1.0.orig/virtinst/cli.py
+++ virt-manager-2.1.0/virtinst/cli.py
@@ -2430,6 +2430,7 @@ class ParserNetwork(VirtCLIParser):
 
         cls.add_arg("driver_name", "driver_name")
         cls.add_arg("driver_queues", "driver_queues")
+        cls.add_arg("maxGrantFrames", "maxGrantFrames")
 
         cls.add_arg("rom_file", "rom_file")
         cls.add_arg("rom_bar", "rom_bar", is_onoff=True)
Index: virt-manager-2.1.0/virtinst/devices/controller.py
===================================================================
--- virt-manager-2.1.0.orig/virtinst/devices/controller.py
+++ virt-manager-2.1.0/virtinst/devices/controller.py
@@ -19,6 +19,7 @@ class DeviceController(Device):
     TYPE_USB             = "usb"
     TYPE_PCI             = "pci"
     TYPE_CCID            = "ccid"
+    TYPE_XENBUS          = "xenbus"
 
     @staticmethod
     def get_recommended_types(_guest):
@@ -38,6 +39,7 @@ class DeviceController(Device):
             DeviceController.TYPE_USB:             "USB",
             DeviceController.TYPE_PCI:             "PCI",
             DeviceController.TYPE_CCID:            "CCID",
+            DeviceController.TYPE_XENBUS:          "xenbus",
        }
 
         if ctype not in pretty_mappings:
@@ -86,13 +88,14 @@ class DeviceController(Device):
         return ctrl
 
 
-    _XML_PROP_ORDER = ["type", "index", "model", "master_startport"]
+    _XML_PROP_ORDER = ["type", "index", "model", "master_startport", "maxGrantFrames"]
 
     type = XMLProperty("./@type")
     model = XMLProperty("./@model")
     vectors = XMLProperty("./@vectors", is_int=True)
     ports = XMLProperty("./@ports", is_int=True)
     master_startport = XMLProperty("./master/@startport", is_int=True)
+    maxGrantFrames = XMLProperty("./@maxGrantFrames", is_int=True)
 
     index = XMLProperty("./@index", is_int=True)
 
openSUSE Build Service is sponsored by