Libvirt driver suspend returns before completion of the task
Bug #1274137 reported by
Loganathan Parthipan
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Medium
|
Unassigned |
Bug Description
The suspend() function in libvirt driver issues a managedsave() call and returns immediately. This will result in the compute manager setting task_state to None from 'suspending'.
This is not good. It's possible for a host to be set to reboot assuming all VMs are in stable states or other Operations on the VM itself may get through for task_state is None.
It would be good if driver suspend() actually wait for the power_state to move from PAUSED to SHUTOFF and then return control to the manager. This would make sure there are no inconsistent task_states reported.
Changed in nova: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in nova: | |
milestone: | none → icehouse-3 |
Changed in nova: | |
milestone: | icehouse-3 → none |
Changed in nova: | |
assignee: | nobody → Anton (agorenkov) |
Changed in nova: | |
assignee: | Anton (agorenkov) → Vladislav Svitlichniy (vsvitlichniy) |
status: | Confirmed → In Progress |
Changed in nova: | |
status: | In Progress → Confirmed |
importance: | High → Medium |
assignee: | Vladislav Svitlichniy (vsvitlichniy) → nobody |
To post a comment you must log in.
I cannot reproduce the problem. I see that when managedsave() returns control the power_state is already in SHUTOFF, but not in PAUSED. Could you please add more details about your environment (openstack, libvirt versions, ...) or clarify how to reproduce the case when power_state is set to PAUSED?