Liron Ar has uploaded a new change for review. Change subject: core: wip: handle failed import of template ......................................................................
core: wip: handle failed import of template Change-Id: If90414b6c50d922b510a10e20e0774bdbec9c05b Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=908327 Signed-off-by: Liron Aravot <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyImageGroupCommand.java 2 files changed, 16 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/39/14839/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java index 8186694..f04c44d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java @@ -17,6 +17,7 @@ import org.ovirt.engine.core.common.VdcObjectType; import org.ovirt.engine.core.common.action.ImportVmTemplateParameters; import org.ovirt.engine.core.common.action.MoveOrCopyImageGroupParameters; +import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.businessentities.CopyVolumeType; @@ -134,7 +135,7 @@ break; } else { image.setStoragePoolId(getParameters().getStoragePoolId()); - image.setStorageIds(new ArrayList<Guid>(Arrays.asList(getParameters().getSourceDomainId()))); + image.setStorageIds(new ArrayList<Guid>(Arrays.asList(storageDomain.getId()))); imageMap.put(image.getImageId(), image); } } @@ -414,6 +415,14 @@ } @Override + protected void endActionOnAllImageGroups() { + for (VdcActionParametersBase p : getParameters().getImagesParameters()) { + p.setTaskGroupSuccess(getParameters().getTaskGroupSuccess()); + getBackend().EndAction(getImagesActionType(), p); + } + } + + @Override protected void endWithFailure() { removeNetwork(); removeImages(); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyImageGroupCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyImageGroupCommand.java index eb22c27..3b80c91 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyImageGroupCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyImageGroupCommand.java @@ -190,17 +190,18 @@ @Override protected void revertTasks() { // Revert should be performed only for AddVmFromSnapshot at this point. - if (getParameters().getParentCommand() == VdcActionType.AddVmFromSnapshot || getParameters().getParentCommand() == VdcActionType.ImportVm) { + if (getParameters().getParentCommand() == VdcActionType.AddVmFromSnapshot || getParameters().getParentCommand() == VdcActionType.ImportVm + || getParameters().getParentCommand() == VdcActionType.ImportVmTemplate) { Guid destImageId = getParameters().getDestinationImageId(); RemoveImageParameters removeImageParams = new RemoveImageParameters(destImageId); - if (getParameters().getParentCommand() == VdcActionType.ImportVm) { + if (getParameters().getParentCommand() == VdcActionType.AddVmFromSnapshot) { + removeImageParams.setParentParameters(getParameters()); + removeImageParams.setParentCommand(VdcActionType.MoveOrCopyImageGroup); + } else { removeImageParams.setParentParameters(removeImageParams); removeImageParams.setParentCommand(VdcActionType.RemoveImage); removeImageParams.setRemoveFromDB(true); - } else { - removeImageParams.setParentParameters(getParameters()); - removeImageParams.setParentCommand(VdcActionType.MoveOrCopyImageGroup); } removeImageParams.setEntityId(getDestinationImageId()); // Setting the image as the monitored entity, so there will not be dependency -- To view, visit http://gerrit.ovirt.org/14839 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If90414b6c50d922b510a10e20e0774bdbec9c05b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Ar <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
