Perhaps you can query the status of job using the correlation id (taking the examples from ovirt-system-tests): dead_snap1_params = types.Snapshot( description=SNAPSHOT_DESC_1, persist_memorystate=False, disk_attachments=[ types.DiskAttachment( disk=types.Disk( id=disk.id ) ) ] ) correlation_id = uuid.uuid4()
vm1_snapshots_service.add(dead_snap1_params, query={'correlation_id': correlation_id}) testlib.assert_true_within_long( lambda: test_utils.all_jobs_finished(engine, correlation_id) ) All jobs finished checks that jobs with correlation_id have finished, it is implemented like this[2]: def all_jobs_finished(engine, correlation_id): try: jobs = engine.jobs_service().list( search='correlation_id=%s' % correlation_id ) except: jobs = engine.jobs_service().list() return all(job.status != types.JobStatus.STARTED for job in jobs) You can instead do something like this: jobs = engine.jobs_service().list( search='correlation_id=%s' % correlation_id ) return any(job.status == types.JobStatus.FAILED for job in jobs) [1] - https://github.com/oVirt/ovirt-system-tests/blob/master/basic-suite-master/test-scenarios/004_basic_sanity.py#L353 [2] - https://github.com/oVirt/ovirt-system-tests/blob/master/basic-suite-master/test_utils/__init__.py#L209 On Thu, Jul 12, 2018 at 10:28 AM <nico...@devels.es> wrote: > Hi Ondra, > > El 2018-07-12 08:02, Ondra Machacek escribió: > > On 07/11/2018 10:10 AM, nico...@devels.es wrote: > >> Hi, > >> > >> We're using ovirt-engine-sdk-python 4.1.6 on oVirt 4.1.9, currently > >> we're trying to delete some snapshots via a script like this: > >> > >> sys_serv = conn.system_service() > >> vms_service = sys_serv.vms_service() > >> vm_service = vms_service.vm_service(vmid) > >> snaps_service = vm_service.snapshots_service() > >> snaps_service.service('SNAPSHOT-ID').remove() > > > > In case of failure this line should raise Error, so you should know it > > failed. > > > > It doesn't, actually. This call is asynchronous, and the snapshot > deletion seems to fail after about 10 seconds, so initially it seems to > be correct but fails afterwards, that's why I need a way to check if the > task ended correctly or not. > > >> > >> This works, mostly... however, sometimes the deletion fails: > >> > >> Failed to delete snapshot 'snapshot name' for VM 'vm'. > >> > >> Is it currently possible to know via Python-SDK that the deletion > >> actually failed? I know I can check the state of a snapshot, but I'd > >> like to check the result of the task. Is that possible somehow? > >> > >> Thanks. > >> _______________________________________________ > >> Users mailing list -- users@ovirt.org > >> To unsubscribe send an email to users-le...@ovirt.org > >> Privacy Statement: https://www.ovirt.org/site/privacy-policy/ > >> oVirt Code of Conduct: > >> https://www.ovirt.org/community/about/community-guidelines/ > >> List Archives: > >> > https://lists.ovirt.org/archives/list/users@ovirt.org/message/AFGSUUJ3RNWX6H66RRGDPFLM6YEL577F/ > _______________________________________________ > Users mailing list -- users@ovirt.org > To unsubscribe send an email to users-le...@ovirt.org > Privacy Statement: https://www.ovirt.org/site/privacy-policy/ > oVirt Code of Conduct: > https://www.ovirt.org/community/about/community-guidelines/ > List Archives: > https://lists.ovirt.org/archives/list/users@ovirt.org/message/XFPROJO4XHL36SJIQIYAAXUTPI6N4IIS/ >
_______________________________________________ Users mailing list -- users@ovirt.org To unsubscribe send an email to users-le...@ovirt.org Privacy Statement: https://www.ovirt.org/site/privacy-policy/ oVirt Code of Conduct: https://www.ovirt.org/community/about/community-guidelines/ List Archives: https://lists.ovirt.org/archives/list/users@ovirt.org/message/W66ZNEDVIFCC3K56QHVHGEOP5ZGXAU4Z/