Tal Nisan has submitted this change and it was merged.
Change subject: core: verify image removal during Live Merge
......................................................................
core: verify image removal during Live Merge
In the multi-step Live Merge process, an image is removed after the
merge operation is completed by use of the deleteVolume vdsm verb. If
vdsm dies during this task the task must be recovered when vdsm starts
up, resulting in a task status of 'cleanSuccess'. Unfortunately, this
status is ambiguous regarding whether the deletion succeeded or not, and
this causes the entire Live Merge operation to fail. Not only does the
initial attempt fail in this case, but a retry will encounter the same
error and cleaning up the system requires manual intervention.
This fix adds another step to Live Merge to check whether image deletion
succeeds regardless of the returned status of deleteVolume. This allows
Live Merge to succeed in above case where deletion did occur yet the
command was unable to report the success.
Note that SPM removal will fix this problem because deleteVolume will no
longer report any ambiguous statuses, so this fix may be reverted once
SPM removal is in place and the engine no longer needs compatibility
with host versions having SPM.
Change-Id: Ib3d8e35ff65cf2d9e0cf141a8a20f5dcd6cf8544
Bug-Url:
https://bugzilla.redhat.com/1227497
Signed-off-by: Greg Padgett <gpadgett(a)redhat.com>
---
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/DestroyImageCheckCommand.java
M
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java
M
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveSnapshotSingleDiskLiveStep.java
M
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
A
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/GetVolumeInfoVDSCommandParameters.java
M
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
M
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java
A
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/GetVolumeInfoVDSCommand.java
M
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
M
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java
M
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
A
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VolumeInfoReturnForXmlRpc.java
12 files changed, 245 insertions(+), 0 deletions(-)
Approvals:
Tal Nisan: Looks good to me, approved; Passed CI tests
Greg Padgett: Verified
--
To view, visit
https://gerrit.ovirt.org/51683
To unsubscribe, visit
https://gerrit.ovirt.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib3d8e35ff65cf2d9e0cf141a8a20f5dcd6cf8544
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.6
Gerrit-Owner: Greg Padgett <gpadgett(a)redhat.com>
Gerrit-Reviewer: Daniel Erez <derez(a)redhat.com>
Gerrit-Reviewer: Greg Padgett <gpadgett(a)redhat.com>
Gerrit-Reviewer: Liron Aravot <laravot(a)redhat.com>
Gerrit-Reviewer: Tal Nisan <tnisan(a)redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation(a)ovirt.org>