[RFC virt-manager] virt-manager: enable mdev support
Shalini Chellathurai Saroja
shalini at linux.ibm.com
Fri May 28 12:07:13 UTC 2021
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 at linux.ibm.com>
>> ---
>> 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
More information about the virt-tools-list
mailing list