connection: Have get_nodedevs return vmmNodeDevice

To make it consistent with similar vmmConnection functionas
This commit is contained in:
Cole Robinson
2015-04-07 14:12:00 -04:00
parent ebfb0cd726
commit c66bc2a87f
9 changed files with 34 additions and 28 deletions

View File

@@ -845,13 +845,13 @@ class vmmAddHardware(vmmGObjectUI):
devs = self.conn.get_nodedevs(devtype, devcap)
for dev in devs:
prettyname = dev.pretty_name()
prettyname = dev.xmlobj.pretty_name()
for subdev in subdevs:
if dev.name == subdev.parent:
prettyname += " (%s)" % subdev.pretty_name()
if dev.xmlobj.name == subdev.xmlobj.parent:
prettyname += " (%s)" % subdev.xmlobj.pretty_name()
model.append([prettyname, dev.name, devtype, dev])
model.append([prettyname, dev.xmlobj.name, devtype, dev.xmlobj])
if len(model) == 0:
model.append([_("No Devices Available"), None, None, None])

View File

@@ -576,7 +576,7 @@ class vmmConnection(vmmGObject):
str(xmlobj.product_id).startswith("0x000"))))):
continue
retdevs.append(xmlobj)
retdevs.append(dev)
return retdevs
@@ -585,8 +585,8 @@ class vmmConnection(vmmGObject):
devs = self.get_nodedevs(devtype)
for dev in devs:
if (vendor == dev.vendor_id and
product == dev.product_id):
if (vendor == dev.xmlobj.vendor_id and
product == dev.xmlobj.product_id):
count += 1
logging.debug("There are %d node devices with "

View File

@@ -502,10 +502,10 @@ class vmmCreateInterface(vmmGObjectUI):
nodedevs = {}
for phys in self.conn.get_nodedevs("net"):
nodedevs[phys.interface] = [None,
False, False, phys.interface,
"ethernet", False, True, None,
phys.address]
nodedevs[phys.xmlobj.interface] = [None,
False, False, phys.xmlobj.interface,
"ethernet", False, True, None,
phys.xmlobj.address]
row_dict = {}
for iface in self.conn.list_interfaces():

View File

@@ -173,7 +173,7 @@ class vmmCreateNetwork(vmmGObjectUI):
devnames = []
for nodedev in self.conn.get_nodedevs("net"):
devnames.append(nodedev.interface)
devnames.append(nodedev.xmlobj.interface)
for iface in self.conn.list_interfaces():
if iface.get_name() not in devnames:
devnames.append(iface.get_name())

View File

@@ -198,7 +198,7 @@ class vmmCreatePool(vmmGObjectUI):
def list_scsi_adapters(self):
scsi_hosts = self.conn.get_nodedevs("scsi_host")
host_list = [dev.host for dev in scsi_hosts]
host_list = [dev.xmlobj.host for dev in scsi_hosts]
clean_list = []
for h in host_list:
@@ -216,9 +216,9 @@ class vmmCreatePool(vmmGObjectUI):
devs = self.conn.get_nodedevs("storage")
devlist = []
for dev in devs:
if dev.drive_type != "disk" or not dev.block:
if dev.xmlobj.drive_type != "disk" or not dev.xmlobj.block:
continue
devlist.append(dev.block)
devlist.append(dev.xmlobj.block)
devlist.sort()
clean_list = []

View File

@@ -3016,8 +3016,8 @@ class vmmDetails(vmmGObjectUI):
nodedev = None
for trydev in self.vm.conn.get_nodedevs(devtype, None):
if trydev.compare_to_hostdev(hostdev):
nodedev = trydev
if trydev.xmlobj.compare_to_hostdev(hostdev):
nodedev = trydev.xmlobj
pretty_name = None
if nodedev:

View File

@@ -164,6 +164,10 @@ class vmmLibvirtObject(vmmGObject):
self._reparse_xml()
return self._xmlobj
@property
def xmlobj(self):
return self.get_xmlobj()
def refresh_xml(self, forcesignal=False):
# Force an xml update. Signal 'config-changed' if domain xml has
# changed since last refresh

View File

@@ -98,12 +98,13 @@ class vmmMediaCombo(vmmGObjectUI):
model.append(row)
def _pretty_label(self, nodedev):
if not nodedev.media_available:
media_label = nodedev.xmlobj.media_label
if not nodedev.xmlobj.media_available:
media_label = _("No media detected")
elif not nodedev.media_label:
elif not nodedev.xmlobj.media_label:
media_label = _("Media Unknown")
return "%s (%s)" % (media_label, nodedev.block)
return "%s (%s)" % (media_label, nodedev.xmlobj.block)
def _mediadev_set_default_selection(self):
# Set the first active cdrom device as selected, otherwise none
@@ -133,17 +134,17 @@ class vmmMediaCombo(vmmGObjectUI):
model.clear()
for nodedev in self.conn.get_nodedevs(devtype="storage"):
if not (nodedev.device_type == "storage" and
nodedev.drive_type in ["cdrom", "floppy"]):
if not (nodedev.xmlobj.device_type == "storage" and
nodedev.xmlobj.drive_type in ["cdrom", "floppy"]):
continue
if nodedev.drive_type != self.media_type:
if nodedev.xmlobj.drive_type != self.media_type:
continue
row = [None] * self.OPTICAL_FIELDS
row[self.OPTICAL_DEV_PATH] = nodedev.block
row[self.OPTICAL_DEV_PATH] = nodedev.xmlobj.block
row[self.OPTICAL_LABEL] = self._pretty_label(nodedev)
row[self.OPTICAL_HAS_MEDIA] = nodedev.media_available
row[self.OPTICAL_DEV_KEY] = nodedev.name
row[self.OPTICAL_HAS_MEDIA] = nodedev.xmlobj.media_available
row[self.OPTICAL_DEV_KEY] = nodedev.xmlobj.name
model.append(row)
self._set_mediadev_default()

View File

@@ -183,8 +183,9 @@ class vmmNetworkList(vmmGObjectUI):
netdevs[iface.get_name()] = [
iface.get_name(), iface.is_bridge(), iface.get_slave_names()]
for nodedev in self.conn.get_nodedevs("net"):
if nodedev.interface not in netdevs:
netdevs[nodedev.interface] = [nodedev.interface, False, []]
if nodedev.xmlobj.interface not in netdevs:
netdevs[nodedev.xmlobj.interface] = [nodedev.xmlobj.interface,
False, []]
# For every bridge used by a virtual network, and any slaves of
# those devices, don't list them.