Re: [RFC virt-manager] virt-manager: enable mdev support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 5/23/21 11:57 PM, Cole Robinson wrote:
On 5/5/21 11:42 AM, Shalini Chellathurai Saroja wrote:
Enable virt-manager GUI to support add, edit, remove, hot-plug and
hot-unplug of mediated devices (like DASDs, APQNs and PCIs) in virtual
server.

It is not possible to edit mdev when a virtual server is in
running state, as this is not supported by libvirt.

The patch-series "virt-install: Add mediated device support" is the
base patch for this patch.

Signed-off-by: Shalini Chellathurai Saroja <shalini@xxxxxxxxxxxxx>
---
  tests/uitests/test_addhardware.py |  6 ++++++
  virtManager/addhardware.py        | 18 +++++++++++++++++-
  2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/tests/uitests/test_addhardware.py b/tests/uitests/test_addhardware.py
index ce3da57c..56acc2fa 100644
--- a/tests/uitests/test_addhardware.py
+++ b/tests/uitests/test_addhardware.py
@@ -459,6 +459,12 @@ def testAddHosts(app):
      app.click_alert_button("device is already in use by", "Yes")
      lib.utils.check(lambda: details.active)
+ # Add MDEV device
+    _open_addhw(app, details)
+    tab = _select_hw(addhw, "MDEV Host Device", "host-tab")
+    tab.find_fuzzy("mdev_8e37ee90_2b51_45e3_9b25_bf8283c03110",
+                   "table cell").click()
+    _finish(addhw, check=details)
def testAddChars(app):
diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py
index cbf19f58..2df84bf5 100644
--- a/virtManager/addhardware.py
+++ b/virtManager/addhardware.py
@@ -249,6 +249,10 @@ class vmmAddHardware(vmmGObjectUI):
          add_hw_option(_("PCI Host Device"), "system-run", PAGE_HOSTDEV,
                        nodedev_enabled, nodedev_errstr, "pci")
+ add_hw_option(_("MDEV Host Device"), "system-run", PAGE_HOSTDEV,
+                      self.conn.support.conn_nodedev(),
+                      _("Connection does not support host device enumeration"),
+                      "mdev")
          add_hw_option(_("Video"), "video-display", PAGE_VIDEO, True,
                        _("Libvirt version does not support video devices."))
          add_hw_option(_("Watchdog"), "device_pci", PAGE_WATCHDOG,
@@ -656,6 +660,9 @@ class vmmAddHardware(vmmGObjectUI):
                        (dehex(hostdev.domain), dehex(hostdev.bus),
                         dehex(hostdev.slot), dehex(hostdev.function)))
+ elif hostdev.uuid:
+            label += " %s" % (str(hostdev.uuid))
+
          return label
@@ -775,6 +782,11 @@ class vmmAddHardware(vmmGObjectUI):
                      if dev.xmlobj.name == subdev.xmlobj.parent:
                          prettyname += " (%s)" % subdev.pretty_name()
+ if devtype == "mdev":
+                for subdev in self.conn.filter_nodedevs("mdev"):
+                    if dev.xmlobj.name == subdev.xmlobj.parent:
+                        prettyname += " (%s)" % subdev.pretty_name()
+
Patch looks pretty good. This bit here isn't covered by the UI test
suite though because none of the nodedev parent devices were added to
the testdriver.xml with your previous patch. Can you send a v2 adding
the referenced parent devices too?

Hello Cole,

Thank you. Oh ok, I will add the nodedev parent devices to testdriver.xml and send a v2.

Thank you for the review.


Thanks,
Cole

--
Kind regards
Shalini Chellathurai Saroja
Linux on Z and Virtualization Development
Vorsitzende des Aufsichtsrats: Gregor Pillen
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294





[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux