
On Thu, Jun 21, 2018 at 2:00 PM, Benny Zlotnik <bzlotnik@redhat.com> wrote:
You could something like this (IIUC): dead_snap1_params = types.Snapshot( description=SNAPSHOT_DESC_1, persist_memorystate=False, disk_attachments=[ types.DiskAttachment( disk=types.Disk( id=disk.id ) ) ] )
Taken from ovirt-system-tests[1]
[1] - https://github.com/oVirt/ovirt-system-tests/blob/ master/basic-suite-master/test-scenarios/004_basic_sanity.py#L340
Hi, thanks for your input! It seems I was able to reach my target What I've done # Locate the service that manages the disk attachments of the virtual # machine: disk_attachments_service = vm_service.disk_attachments_service() # Retrieve the list of disk attachments and then the bootable disk disk_attachments = disk_attachments_service.list() bootdisk = None for disk_attachment in disk_attachments: disk = connection.follow_link(disk_attachment.disk) if disk_attachment.bootable == True: bootdisk = connection.follow_link(disk_attachment.disk) break snaps_service = vm_service.snapshots_service() snap = snaps_service.add( snapshot=types.Snapshot( description=snap_description, persist_memorystate=False, disk_attachments=[ types.DiskAttachment( disk=types.Disk( id=bootdisk.id ) ) ] ), ) logging.info( 'Sent request to create snapshot \'%s\', the id is \'%s\'.', snap.description, snap.id, ) It seems also the monitor function already present in backup.py of the sdk examples linked in my previous message is working ok, # Poll and wait till the status of the snapshot is 'ok', which means # that it is completely created: snap_service = snaps_service.snapshot_service(snap.id) while snap.snapshot_status != types.SnapshotStatus.OK: logging.info( 'Waiting till the snapshot is created, the status is now \'%s\'.', snap.snapshot_status, ) time.sleep(1) snap = snap_service.get() logging.info('The snapshot is now complete.') In fact in the log file I have INFO:root:Sent request to create snapshot 'padnpro_imp-backup-0e0c7064-bec5-429b-9ad7-cd8d1e5b25be', the id is '4135e8cb-87e8-4f09-82f5-b9ad0ed2f5be'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:Waiting till the snapshot is created, the status is now 'locked'. INFO:root:The snapshot is now complete. What if I would like to emit an event if for any reason the creation of the snapshot doesn't complete in a predefined elapsed time and manage it? I think I have also to manage the case when for any reason no disk is marked as bootable inside the VM I'm backing up... Gianluca