MCPcopy
hub / github.com/retspen/webvirtcloud / mount_iso

Method mount_iso

vrtManager/instance.py:290–318  ·  view source on GitHub ↗
(self, dev, image)

Source from the content-addressed store, hash-verified

288 return util.get_xml_path(self._XMLDesc(0), func=disks)
289
290 def mount_iso(self, dev, image):
291 def attach_iso(dev, disk, vol):
292 if disk.get('device') == 'cdrom':
293 for elm in disk:
294 if elm.tag == 'target':
295 if elm.get('dev') == dev:
296 src_media = ElementTree.Element('source')
297 src_media.set('file', vol.path())
298 disk.insert(2, src_media)
299 return True
300
301 storages = self.get_storages()
302 for storage in storages:
303 stg = self.get_storage(storage)
304 if stg.info()[0] != 0:
305 for img in stg.listVolumes():
306 if image == img:
307 vol = stg.storageVolLookupByName(image)
308 tree = ElementTree.fromstring(self._XMLDesc(0))
309 for disk in tree.findall('devices/disk'):
310 if attach_iso(dev, disk, vol):
311 break
312 if self.get_status() == 1:
313 xml = ElementTree.tostring(disk)
314 self.instance.attachDevice(xml)
315 xmldom = self._XMLDesc(VIR_DOMAIN_XML_SECURE)
316 if self.get_status() == 5:
317 xmldom = ElementTree.tostring(tree)
318 self._defineXML(xmldom)
319
320 def umount_iso(self, dev, image):
321 tree = ElementTree.fromstring(self._XMLDesc(0))

Callers 1

instanceFunction · 0.80

Calls 5

_XMLDescMethod · 0.95
get_statusMethod · 0.95
_defineXMLMethod · 0.95
get_storagesMethod · 0.80
get_storageMethod · 0.80

Tested by

no test coverage detected