Bug 1253338 - [API] restore snapshot via API results in snapshot being stuck on "In preview" status
Summary: [API] restore snapshot via API results in snapshot being stuck on "In preview...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: oVirt
Classification: Retired
Component: ovirt-engine-core
Version: 3.6
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ---
: 3.6.0
Assignee: Moti Asayag
QA Contact: sefi litmanovich
URL:
Whiteboard: infra
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-08-13 13:54 UTC by sefi litmanovich
Modified: 2016-02-10 19:35 UTC (History)
10 users (show)

Fixed In Version: 3.6.0-12
Clone Of:
Environment:
Last Closed: 2015-11-04 11:40:39 UTC
oVirt Team: Infra
Embargoed:


Attachments (Terms of Use)
restore snapshot relevant part in engine log (32.94 KB, text/plain)
2015-08-13 13:54 UTC, sefi litmanovich
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 45547 0 master MERGED engine: Revert JPA Never
oVirt gerrit 45586 0 ovirt-engine-3.6 MERGED engine: Revert JPA Never

Description sefi litmanovich 2015-08-13 13:54:35 UTC
Created attachment 1062591 [details]
restore snapshot relevant part in engine log

Description of problem:

trying to restore snapshot via rest api results in snapshot being stuck on "In preview" status

Version-Release number of selected component (if applicable):

ovirt-engine-3.6.0-0.0.master.20150804111407.git122a3a0.el6.noarch

How reproducible:

always

Steps to Reproduce:
1. Create a vm with disk
2. Create snapshot.
3. restore snapshot:

POST https://{engin}/ovirt-engine/api/vms/{vm_id}/snapshots/{snapshot_id}/restore

body:

<action>
    <async>false</async>
    <grace_period>
        <expiry>10</expiry>
    </grace_period>
    <restore_memory>false</restore_memory>
</action>

Actual results:

snapshot is stuck on "In preview" mode forever.

Expected results:

snapshot moves to "In previewe" and shortly after commits the snapshot.

Comment 1 Juan Hernández 2015-08-17 17:09:41 UTC
The "restore" operation is performed by the RESTAPI in two sequential steps:

1. The RESTAPI runs the "TryBackToAllSnapshotsOfVm" command and waits for the completion of the job by this operation.

2. The RESTAPI runs the "RestoreAllSnapshot" action.

What happens in this case is that the job returned by the "TryBackToAllSnapshotsOfVm" command never finishes, it is always in status "STARTED", thus the RESTAPI will never get out of step 1.

Note also that ideally the RESTAPI shouldn't coordinate two backend actions, like in this case. Consider adding a single backend command that performs these two steps.

Comment 2 Juan Hernández 2015-08-18 08:30:14 UTC
Moving to "infra", as it looks like a generic caching issue in the DAO layer. See bug 1254230, which is probably a duplicate.

Comment 3 sefi litmanovich 2015-09-20 13:32:19 UTC
Verified according to steps in the description.
rhevm-3.6.0-0.16.master.el6.noarch

Comment 4 Sandro Bonazzola 2015-11-04 11:40:39 UTC
oVirt 3.6.0 has been released on November 4th, 2015 and should fix this issue.
If problems still persist, please open a new BZ and reference this one.


Note You need to log in before you can comment on or make changes to this bug.