Beispiel #1
0
                    help='Specify qemu:///system or qemu:///session',
                    action='store')
args = parser.parse_args()

from glacier import Glacier

if __name__ == '__main__':
    glacier = Glacier(access_key_id=ACCESS_KEY_ID,
                      secret_access_key=SECRET_ACCESS_KEY,
                      region_name=REGION_NAME)

    try:
        logging.debug("Connecting to libvirt")
        virsh = libvirt.open(args.connection)

        vault = glacier.create_vault()
        for domain in virsh.listAllDomains(
                flags=libvirt.VIR_CONNECT_LIST_DOMAINS_ACTIVE):
            logging.debug("Parsing XML for: %s" % domain.name())
            domXML = domain.XMLDesc()
            logging.debug(domXML)

            tree = ElementTree.fromstring(domXML)
            disks = tree.findall('./devices/disk[@type="file"]/source/[@file]')

            if len(disks) == 0:
                continue

            snapshotXML = "<domainsnapshot><disks>"

            for disk_file in [disk.attrib['file'] for disk in disks]: