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
+4 -4
View File
@@ -845,13 +845,13 @@ class vmmAddHardware(vmmGObjectUI):
devs = self.conn.get_nodedevs(devtype, devcap) devs = self.conn.get_nodedevs(devtype, devcap)
for dev in devs: for dev in devs:
prettyname = dev.pretty_name() prettyname = dev.xmlobj.pretty_name()
for subdev in subdevs: for subdev in subdevs:
if dev.name == subdev.parent: if dev.xmlobj.name == subdev.xmlobj.parent:
prettyname += " (%s)" % subdev.pretty_name() 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: if len(model) == 0:
model.append([_("No Devices Available"), None, None, None]) model.append([_("No Devices Available"), None, None, None])
+3 -3
View File
@@ -576,7 +576,7 @@ class vmmConnection(vmmGObject):
str(xmlobj.product_id).startswith("0x000"))))): str(xmlobj.product_id).startswith("0x000"))))):
continue continue
retdevs.append(xmlobj) retdevs.append(dev)
return retdevs return retdevs
@@ -585,8 +585,8 @@ class vmmConnection(vmmGObject):
devs = self.get_nodedevs(devtype) devs = self.get_nodedevs(devtype)
for dev in devs: for dev in devs:
if (vendor == dev.vendor_id and if (vendor == dev.xmlobj.vendor_id and
product == dev.product_id): product == dev.xmlobj.product_id):
count += 1 count += 1
logging.debug("There are %d node devices with " logging.debug("There are %d node devices with "
+4 -4
View File
@@ -502,10 +502,10 @@ class vmmCreateInterface(vmmGObjectUI):
nodedevs = {} nodedevs = {}
for phys in self.conn.get_nodedevs("net"): for phys in self.conn.get_nodedevs("net"):
nodedevs[phys.interface] = [None, nodedevs[phys.xmlobj.interface] = [None,
False, False, phys.interface, False, False, phys.xmlobj.interface,
"ethernet", False, True, None, "ethernet", False, True, None,
phys.address] phys.xmlobj.address]
row_dict = {} row_dict = {}
for iface in self.conn.list_interfaces(): for iface in self.conn.list_interfaces():
+1 -1
View File
@@ -173,7 +173,7 @@ class vmmCreateNetwork(vmmGObjectUI):
devnames = [] devnames = []
for nodedev in self.conn.get_nodedevs("net"): for nodedev in self.conn.get_nodedevs("net"):
devnames.append(nodedev.interface) devnames.append(nodedev.xmlobj.interface)
for iface in self.conn.list_interfaces(): for iface in self.conn.list_interfaces():
if iface.get_name() not in devnames: if iface.get_name() not in devnames:
devnames.append(iface.get_name()) devnames.append(iface.get_name())
+3 -3
View File
@@ -198,7 +198,7 @@ class vmmCreatePool(vmmGObjectUI):
def list_scsi_adapters(self): def list_scsi_adapters(self):
scsi_hosts = self.conn.get_nodedevs("scsi_host") 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 = [] clean_list = []
for h in host_list: for h in host_list:
@@ -216,9 +216,9 @@ class vmmCreatePool(vmmGObjectUI):
devs = self.conn.get_nodedevs("storage") devs = self.conn.get_nodedevs("storage")
devlist = [] devlist = []
for dev in devs: 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 continue
devlist.append(dev.block) devlist.append(dev.xmlobj.block)
devlist.sort() devlist.sort()
clean_list = [] clean_list = []
+2 -2
View File
@@ -3016,8 +3016,8 @@ class vmmDetails(vmmGObjectUI):
nodedev = None nodedev = None
for trydev in self.vm.conn.get_nodedevs(devtype, None): for trydev in self.vm.conn.get_nodedevs(devtype, None):
if trydev.compare_to_hostdev(hostdev): if trydev.xmlobj.compare_to_hostdev(hostdev):
nodedev = trydev nodedev = trydev.xmlobj
pretty_name = None pretty_name = None
if nodedev: if nodedev:
+4
View File
@@ -164,6 +164,10 @@ class vmmLibvirtObject(vmmGObject):
self._reparse_xml() self._reparse_xml()
return self._xmlobj return self._xmlobj
@property
def xmlobj(self):
return self.get_xmlobj()
def refresh_xml(self, forcesignal=False): def refresh_xml(self, forcesignal=False):
# Force an xml update. Signal 'config-changed' if domain xml has # Force an xml update. Signal 'config-changed' if domain xml has
# changed since last refresh # changed since last refresh
+10 -9
View File
@@ -98,12 +98,13 @@ class vmmMediaCombo(vmmGObjectUI):
model.append(row) model.append(row)
def _pretty_label(self, nodedev): 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") media_label = _("No media detected")
elif not nodedev.media_label: elif not nodedev.xmlobj.media_label:
media_label = _("Media Unknown") 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): def _mediadev_set_default_selection(self):
# Set the first active cdrom device as selected, otherwise none # Set the first active cdrom device as selected, otherwise none
@@ -133,17 +134,17 @@ class vmmMediaCombo(vmmGObjectUI):
model.clear() model.clear()
for nodedev in self.conn.get_nodedevs(devtype="storage"): for nodedev in self.conn.get_nodedevs(devtype="storage"):
if not (nodedev.device_type == "storage" and if not (nodedev.xmlobj.device_type == "storage" and
nodedev.drive_type in ["cdrom", "floppy"]): nodedev.xmlobj.drive_type in ["cdrom", "floppy"]):
continue continue
if nodedev.drive_type != self.media_type: if nodedev.xmlobj.drive_type != self.media_type:
continue continue
row = [None] * self.OPTICAL_FIELDS 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_LABEL] = self._pretty_label(nodedev)
row[self.OPTICAL_HAS_MEDIA] = nodedev.media_available row[self.OPTICAL_HAS_MEDIA] = nodedev.xmlobj.media_available
row[self.OPTICAL_DEV_KEY] = nodedev.name row[self.OPTICAL_DEV_KEY] = nodedev.xmlobj.name
model.append(row) model.append(row)
self._set_mediadev_default() self._set_mediadev_default()
+3 -2
View File
@@ -183,8 +183,9 @@ class vmmNetworkList(vmmGObjectUI):
netdevs[iface.get_name()] = [ netdevs[iface.get_name()] = [
iface.get_name(), iface.is_bridge(), iface.get_slave_names()] iface.get_name(), iface.is_bridge(), iface.get_slave_names()]
for nodedev in self.conn.get_nodedevs("net"): for nodedev in self.conn.get_nodedevs("net"):
if nodedev.interface not in netdevs: if nodedev.xmlobj.interface not in netdevs:
netdevs[nodedev.interface] = [nodedev.interface, False, []] netdevs[nodedev.xmlobj.interface] = [nodedev.xmlobj.interface,
False, []]
# For every bridge used by a virtual network, and any slaves of # For every bridge used by a virtual network, and any slaves of
# those devices, don't list them. # those devices, don't list them.