Example 4.46. Get domain's disk information
# Example-39.py #!/usr/bin/env python3 import sys import libvirt from xml.dom import minidom domName = 'Fedora22-x86_64-1' conn = None try: conn = libvirt.open("qemu:///system") except libvirt.libvirtError as e: print(repr(e), file=sys.stderr) exit(1) dom = conn.lookupByID(1) if dom == None: print('Failed to find the domain '+domName, file=sys.stderr) exit(1) raw_xml = dom.XMLDesc(0) xml = minidom.parseString(raw_xml) diskTypes = xml.getElementsByTagName('disk') for diskType in diskTypes: print('disk: type='+diskType.getAttribute('type')+' device='+diskType.getAttribute('device')) diskNodes = diskType.childNodes for diskNode in diskNodes: if diskNode.nodeName[0:1] != '#': print(' '+diskNode.nodeName) for attr in diskNode.attributes.keys(): print(' '+diskNode.attributes[attr].name+' = '+ diskNode.attributes[attr].value) conn.close() exit(0)
Example 4.47. Domain Disk XML information
<domain type='kvm'> ... <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/var/lib/libvirt/images/RHEL7.1-x86_64-1.img'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='hdc' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> ... </domain>