Change in ovirt-engine[ovirt-engine-3.6.2]: core: verify image removal during Live Merge

tnisan at redhat.com tnisan at redhat.com
Tue Jan 12 08:32:40 UTC 2016


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 at 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
  Greg Padgett: Verified
  Jenkins CI: Passed CI tests



-- 
To view, visit https://gerrit.ovirt.org/51684
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ib3d8e35ff65cf2d9e0cf141a8a20f5dcd6cf8544
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.6.2
Gerrit-Owner: Greg Padgett <gpadgett at redhat.com>
Gerrit-Reviewer: Daniel Erez <derez at redhat.com>
Gerrit-Reviewer: Greg Padgett <gpadgett at redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Liron Aravot <laravot at redhat.com>
Gerrit-Reviewer: Tal Nisan <tnisan at redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation at ovirt.org>



More information about the Engine-commits mailing list