hostnets: Remove SR-IOV info listing

This is fairly advanced stuff and it should be fine to get this
info from the XML editor page
This commit is contained in:
Cole Robinson 2019-06-16 20:37:18 -04:00
parent 59873f3876
commit 2c03ea5c92
7 changed files with 2 additions and 178 deletions

View File

@ -2,6 +2,5 @@
<name>passthrough</name> <name>passthrough</name>
<forward mode="hostdev" managed="yes"> <forward mode="hostdev" managed="yes">
<pf dev="eth3"/> <pf dev="eth3"/>
<address type="pci" domain="0x0000" bus="0x03" slot="0x10" function="0x0"/>
</forward> </forward>
</network> </network>

View File

@ -2,6 +2,5 @@
<name>new-foo</name> <name>new-foo</name>
<forward mode="hostdev" managed="yes"> <forward mode="hostdev" managed="yes">
<pf dev="eth3"/> <pf dev="eth3"/>
<address type="pci" domain="0x0000" bus="0x03" slot="0x10" function="0x0"/>
</forward> </forward>
</network> </network>

View File

@ -1385,13 +1385,6 @@ class XMLParseTest(unittest.TestCase):
check = self._make_checker(net.forward.pf[0]) check = self._make_checker(net.forward.pf[0])
check("dev", "eth3") check("dev", "eth3")
check = self._make_checker(net.forward.vfs[0])
check("type", "pci")
check("domain", 0x0000)
check("bus", 0x03)
check("slot", 0x10)
check("function", 0x0)
utils.diff_compare(net.get_xml(), outfile) utils.diff_compare(net.get_xml(), outfile)
utils.test_create(self.conn, net.get_xml(), "networkDefineXML") utils.test_create(self.conn, net.get_xml(), "networkDefineXML")

View File

@ -234,6 +234,7 @@
<object class="GtkExpander" id="net-ipv4-expander"> <object class="GtkExpander" id="net-ipv4-expander">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="expanded">True</property>
<child> <child>
<object class="GtkGrid" id="table3"> <object class="GtkGrid" id="table3">
<property name="visible">True</property> <property name="visible">True</property>
@ -384,6 +385,7 @@
<object class="GtkExpander" id="net-ipv6-expander"> <object class="GtkExpander" id="net-ipv6-expander">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="expanded">True</property>
<child> <child>
<object class="GtkGrid" id="table9"> <object class="GtkGrid" id="table9">
<property name="visible">True</property> <property name="visible">True</property>
@ -531,108 +533,6 @@
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkExpander" id="net-sriov-expander">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
<object class="GtkBox" id="net-sriov-box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
<object class="GtkGrid" id="pf-table">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">5</property>
<property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="pf-name">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label">label</property>
<property name="selectable">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="pf-name-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Physical Function:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="vf-scroll-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Virtual Functions:</property>
<property name="use_markup">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="vf-scroll">
<property name="height_request">144</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="vf-list">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="net-sriov-expander-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">&lt;b&gt;_SR-IOV information&lt;/b&gt;</property>
<property name="use_markup">True</property>
<property name="use_underline">True</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object> </object>
</child> </child>
</object> </object>

View File

@ -9,8 +9,6 @@ import logging
from gi.repository import Gtk from gi.repository import Gtk
from gi.repository import Pango from gi.repository import Pango
from virtinst import NodeDevice
from . import uiutil from . import uiutil
from .asyncjob import vmmAsyncJob from .asyncjob import vmmAsyncJob
from .baseclass import vmmGObjectUI from .baseclass import vmmGObjectUI
@ -108,19 +106,6 @@ class vmmHostNets(vmmGObjectUI):
self.widget("net-list").append_column(netCol) self.widget("net-list").append_column(netCol)
netListModel.set_sort_column_id(1, Gtk.SortType.ASCENDING) netListModel.set_sort_column_id(1, Gtk.SortType.ASCENDING)
# Virtual Function list
# [vf-name]
vf_list = self.widget("vf-list")
vf_list_model = Gtk.ListStore(str)
vf_list.set_model(vf_list_model)
vf_list.set_headers_visible(False)
vfTextCol = Gtk.TreeViewColumn()
vf_txt = Gtk.CellRendererText()
vfTextCol.pack_start(vf_txt, True)
vfTextCol.add_attribute(vf_txt, 'text', 0)
vf_list.append_column(vfTextCol)
self._xmleditor = vmmXMLEditor(self.builder, self.topwin, self._xmleditor = vmmXMLEditor(self.builder, self.topwin,
self.widget("net-details-align"), self.widget("net-details-align"),
self.widget("net-details")) self.widget("net-details"))
@ -264,34 +249,6 @@ class vmmHostNets(vmmGObjectUI):
routevia = routeaddr + ", gateway=" + routevia routevia = routeaddr + ", gateway=" + routevia
self.widget("net-ipv6-route").set_text(routevia or "") self.widget("net-ipv6-route").set_text(routevia or "")
def _populate_sriov_state(self, net):
(is_vf_pool, pf_name, vfs) = net.get_sriov_vf_networks()
self.widget("net-sriov-expander").set_visible(is_vf_pool)
if not pf_name:
self.widget("pf-name").set_text("N/A")
return
self.widget("pf-name").set_text(pf_name)
vf_list_model = self.widget("vf-list").get_model()
vf_list_model.clear()
for vf in vfs:
addrStr = "%x:%x:%x.%x" % (vf.domain, vf.bus, vf.slot, vf.function)
pcidev = NodeDevice.lookupNodedevFromString(self.conn.get_backend(),
addrStr)
vf_name = None
netdevs = self.conn.filter_nodedevs("net")
for netdev in netdevs:
logging.debug(netdev.xmlobj.parent)
if pcidev.name == netdev.xmlobj.parent:
vf_name = netdev.xmlobj.interface
break
vf_list_model.append([vf_name or addrStr])
def _populate_net_state(self, net): def _populate_net_state(self, net):
active = net.is_active() active = net.is_active()
@ -319,7 +276,6 @@ class vmmHostNets(vmmGObjectUI):
self._populate_net_ipv4_state(net) self._populate_net_ipv4_state(net)
self._populate_net_ipv6_state(net) self._populate_net_ipv6_state(net)
self._populate_sriov_state(net)
self._xmleditor.set_xml_from_libvirtobject(net) self._xmleditor.set_xml_from_libvirtobject(net)
@ -357,7 +313,6 @@ class vmmHostNets(vmmGObjectUI):
return return
logging.debug("Stopping network '%s'", net.get_name()) logging.debug("Stopping network '%s'", net.get_name())
self.widget("vf-list").get_model().clear()
vmmAsyncJob.simple_async_noshow(net.stop, [], self, vmmAsyncJob.simple_async_noshow(net.stop, [], self,
_("Error stopping network '%s'") % net.get_name()) _("Error stopping network '%s'") % net.get_name())

View File

@ -176,18 +176,6 @@ class vmmNetwork(vmmLibvirtObject):
ret = self._get_network("ipv6") ret = self._get_network("ipv6")
return ret + [self._get_static_route("ipv6")] return ret + [self._get_static_route("ipv6")]
def get_sriov_vf_networks(self):
xmlobj = self.get_xmlobj()
pf_name = None
vfs = None
ret = False
if xmlobj.forward.mode == "hostdev":
ret = True
if xmlobj.forward.pf:
pf_name = xmlobj.forward.pf[0].dev
vfs = xmlobj.forward.vfs
return (ret, pf_name, vfs)
def pretty_forward_mode(self): def pretty_forward_mode(self):
mode = self.xmlobj.forward.mode mode = self.xmlobj.forward.mode
dev = self.xmlobj.forward.dev dev = self.xmlobj.forward.dev

View File

@ -54,15 +54,6 @@ class _NetworkForwardPf(XMLBuilder):
dev = XMLProperty("./@dev") dev = XMLProperty("./@dev")
class _NetworkForwardAddress(XMLBuilder):
XML_NAME = "address"
type = XMLProperty("./@type")
domain = XMLProperty("./@domain", is_int=True)
bus = XMLProperty("./@bus", is_int=True)
slot = XMLProperty("./@slot", is_int=True)
function = XMLProperty("./@function", is_int=True)
class _NetworkForward(XMLBuilder): class _NetworkForward(XMLBuilder):
XML_NAME = "forward" XML_NAME = "forward"
@ -70,7 +61,6 @@ class _NetworkForward(XMLBuilder):
dev = XMLProperty("./@dev") dev = XMLProperty("./@dev")
managed = XMLProperty("./@managed") managed = XMLProperty("./@managed")
pf = XMLChildProperty(_NetworkForwardPf) pf = XMLChildProperty(_NetworkForwardPf)
vfs = XMLChildProperty(_NetworkForwardAddress)
class _NetworkPortgroup(XMLBuilder): class _NetworkPortgroup(XMLBuilder):