def volumes(self, iso=False):
isos = []
templates = []
default_templates = [os.path.basename(t) for t in defaults.TEMPLATES.values() if t is not None]
conn = self.conn
for storage in conn.listStoragePools():
storage = conn.storagePoolLookupByName(storage)
storage.refresh(0)
storagexml = storage.XMLDesc(0)
root = ET.fromstring(storagexml)
for element in root.getiterator('path'):
storagepath = element.text
break
for volume in storage.listVolumes():
if volume.endswith('iso'):
isos.append("%s/%s" % (storagepath, volume))
elif volume.endswith('qcow2') or volume.endswith('qc2') or volume in default_templates:
templates.append("%s/%s" % (storagepath, volume))
if iso:
return sorted(isos, key=lambda s: s.lower())
else:
return sorted(templates, key=lambda s: s.lower())
评论列表
文章目录