Daniel Erez has uploaded a new change for review. Change subject: core: handle negative flow for extend cinder disk ......................................................................
core: handle negative flow for extend cinder disk * Added ErrorExtending key to mapCinderVolumeStatusToImageStatus (needed for setting disk status to Illegal on extend error). * Set disk status in 'onFailed' method * Set TaskGroupSuccess to false to ensure endWithFailure is called. Change-Id: I5457f8d81b283f208902036865d487e1130536e4 Bug-Url: https://bugzilla.redhat.com/1185826 Signed-off-by: Daniel Erez <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendCinderDiskCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendCinderDiskCommandCallback.java 3 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/58/39858/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java index 506887d..52deb77 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java @@ -157,6 +157,7 @@ return ImageStatus.LOCKED; case Error: case ErrorDeleting: + case ErrorExtending: return ImageStatus.ILLEGAL; default: return null; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendCinderDiskCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendCinderDiskCommand.java index 90f423f..777bcfe 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendCinderDiskCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendCinderDiskCommand.java @@ -69,4 +69,8 @@ return cinderDisk.getStorageIds().get(0); } + @Override + protected void endWithFailure() { + setSucceeded(true); + } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendCinderDiskCommandCallback.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendCinderDiskCommandCallback.java index c007697..e8b0044 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendCinderDiskCommandCallback.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ExtendCinderDiskCommandCallback.java @@ -1,5 +1,6 @@ package org.ovirt.engine.core.bll.storage; +import org.ovirt.engine.core.bll.ImagesHandler; import org.ovirt.engine.core.bll.tasks.CommandCoordinatorUtil; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.action.UpdateVmDiskParameters; @@ -36,9 +37,11 @@ public void onFailed(Guid cmdId, List<Guid> childCmdIds) { super.onFailed(cmdId, childCmdIds); + ImagesHandler.updateImageStatus(getDiskId(), ImageStatus.ILLEGAL); log.error("Failed extending disk. ID: {}", getDiskId()); updateAuditLog(AuditLogType.USER_EXTEND_DISK_SIZE_FAILURE, getCommand().getNewDiskSizeInGB()); + getCommand().getParameters().setTaskGroupSuccess(false); getCommand().endAction(); CommandCoordinatorUtil.removeAllCommandsInHierarchy(cmdId); } -- To view, visit https://gerrit.ovirt.org/39858 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5457f8d81b283f208902036865d487e1130536e4 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
