Milan Zamazal <mzamazal(a)redhat.com> writes:
Benny Zlotnik <bzlotnik(a)redhat.com> writes:
> Yes, we had this race in another test, that's because of the engine memory
> lock which is released after the database one
I believe that in this case it's not just a tight race since from what
I've seen in Vdsm logs it seems the snapshot is really not completed
when its status is switched to OK.
While I have been able to solve the OST issue by examining Engine
events, which is a better way to make the check anyway, there still
remains the question whether the behavior I observed is a bug that
should be reported. (According to the SDK example cited below there is
either bug in snapshot status reporting or in the example.)
The behavior is demonstrated at
As seen in
2018-07-18 15:54:49,686-04 -- Engine is asked to create the snapshot
2018-07-18 15:55:09,131-04 -- Engine calls SnapshotVDSCommand on
2018-07-18 15:55:09,585-04 -- Engine gets Destroy call from OST that got Status.OK on the
I think the behavior should be reproducible in OST basic-suite-4.2, when
you disable add_vm_pool test in 004_basic_sanity.py.
> Anyway, thank you for confirming that snapshot status check is
> unreliable, I'll replace it with Engine event check.
>> I can't provide links since I'm on my phone and away from the laptop but
>> you can look at the cold merge test, we fixed it there by polling the
>> status of the job
>> On Fri, 20 Jul 2018, 14:11 Milan Zamazal, <mzamazal(a)redhat.com> wrote:
>>> Hi, a failure of previewing a snapshot with memory has been experienced
>>> in OST master suite and I'm not sure whether REST API responses about
>>> snapshot status are correct or not.
>>> When I'm creating a snapshot with memory, <snapshot_status>
>>> from Engine REST API in /api/vms/…/snapshots is initially `locked' and
>>> later switches to `ok'. The problem is that `ok' starts being
>>> before snapshot creation completes, resulting in errors if I try to stop
>>> the VM or to preview the snapshot at the moment.
>>> Does <snapshot_status>ok</snapshot_status> guarantee that the
>>> is completed or not? I can see the following example in
>>> ovirt-engine-sdk (for snapshot without memory):
>>> # 'Waiting for Snapshot creation to finish'
>>> snapshot_service = snapshots_service.snapshot_service(snapshot.id)
>>> while True:
>>> snapshot = snapshot_service.get()
>>> if snapshot.snapshot_status == types.SnapshotStatus.OK:
>>> So I suppose snapshot status shouldn't switch to OK before snapshot
>>> creation finishes. But it's not true in Engine master. Is it a bug or
>>> a feature?
>>> Devel mailing list -- devel(a)ovirt.org
>>> To unsubscribe send an email to devel-leave(a)ovirt.org
>>> Privacy Statement: https://www.ovirt.org/site/privacy-policy/
>>> oVirt Code of Conduct:
>>> List Archives: