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

Method get_disk_device

vrtManager/instance.py:227–259  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

225 return util.get_xml_path(self._XMLDesc(0), func=networks)
226
227 def get_disk_device(self):
228 def disks(ctx):
229 result = []
230 dev = None
231 volume = None
232 storage = None
233 src_fl = None
234 disk_format = None
235 disk_size = None
236 for disk in ctx.xpathEval('/domain/devices/disk'):
237 device = disk.xpathEval('@device')[0].content
238 if device == 'disk':
239 try:
240 dev = disk.xpathEval('target/@dev')[0].content
241 src_fl = disk.xpathEval('source/@file|source/@dev|source/@name|source/@volume')[0].content
242 disk_format = disk.xpathEval('driver/@type')[0].content
243 try:
244 vol = self.get_volume_by_path(src_fl)
245 volume = vol.name()
246 disk_size = vol.info()[1]
247 stg = vol.storagePoolLookupByVolume()
248 storage = stg.name()
249 except libvirtError:
250 volume = src_fl
251 except:
252 pass
253 finally:
254 result.append(
255 {'dev': dev, 'image': volume, 'storage': storage, 'path': src_fl,
256 'format': disk_format, 'size': disk_size})
257 return result
258
259 return util.get_xml_path(self._XMLDesc(0), func=disks)
260
261 def get_media_device(self):
262 def disks(ctx):

Callers 2

delete_diskMethod · 0.95
instanceFunction · 0.80

Calls 1

_XMLDescMethod · 0.95

Tested by

no test coverage detected