Maor Lipchuk has uploaded a new change for review. Change subject: core: Add MoveImageGroup to MoveImageGroupCommand ......................................................................
core: Add MoveImageGroup to MoveImageGroupCommand Use only MoveImageGroupVDSCommand in MoveImageGroupCommand since copy should not be used as part of it. Change-Id: Ibf34e2b6c3c33dd86fe4b4243c86b01cd1b19f7c Signed-off-by: Maor Lipchuk <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CopyImageGroupCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveImageGroupCommand.java 2 files changed, 54 insertions(+), 26 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/32/16532/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CopyImageGroupCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CopyImageGroupCommand.java index 8a0dda3..ddf7ee3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CopyImageGroupCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CopyImageGroupCommand.java @@ -56,7 +56,36 @@ : getDiskImage().getStorageIds().get(0); Guid taskId = persistAsyncTaskPlaceHolder(getParameters().getParentCommand()); + vdsReturnValue = runImageVdsCommand(sourceDomainId); + if (vdsReturnValue.getSucceeded()) { + AsyncTaskCreationInfo taskCreationInfo = vdsReturnValue.getCreationInfo(); + getReturnValue().getInternalVdsmTaskIdList().add( + createTask(taskId, + taskCreationInfo, + getParameters().getParentCommand(), + VdcObjectType.Storage, + sourceDomainId, + getParameters().getStorageDomainId())); + + // Add storage domain in db only if there is new entity in DB. + if (!shouldUpdateStorageDisk() && getParameters().getAddImageDomainMapping()) { + getImageStorageDomainMapDao().save + (new image_storage_domain_map(getParameters().getImageId(), + getParameters().getStorageDomainId())); + } + //update quota + if (getParameters().getQuotaId() != null) { + getImageDao().updateQuotaForImageAndSnapshots(getParameters().getDestImageGroupId(), + getParameters().getQuotaId()); + } + + setSucceeded(true); + } + } + + protected VDSReturnValue runImageVdsCommand(Guid sourceDomainId) { + VDSReturnValue vdsReturnValue; if (getParameters().getUseCopyCollapse()) { vdsReturnValue = runVdsCommand( VDSCommandType.CopyImage, @@ -95,34 +124,10 @@ getStoragePool() .getcompatibility_version().toString())); } - - if (vdsReturnValue.getSucceeded()) { - AsyncTaskCreationInfo taskCreationInfo = vdsReturnValue.getCreationInfo(); - getReturnValue().getInternalVdsmTaskIdList().add( - createTask(taskId, - taskCreationInfo, - getParameters().getParentCommand(), - VdcObjectType.Storage, - sourceDomainId, - getParameters().getStorageDomainId())); - - // Add storage domain in db only if there is new entity in DB. - if (!shouldUpdateStorageDisk() && getParameters().getAddImageDomainMapping()) { - getImageStorageDomainMapDao().save - (new image_storage_domain_map(getParameters().getImageId(), - getParameters().getStorageDomainId())); - } - //update quota - if (getParameters().getQuotaId() != null) { - getImageDao().updateQuotaForImageAndSnapshots(getParameters().getDestImageGroupId(), - getParameters().getQuotaId()); - } - - setSucceeded(true); - } + return vdsReturnValue; } - private boolean isWipeAfterDelete() { + protected boolean isWipeAfterDelete() { return getDestinationDiskImage() != null ? getDestinationDiskImage().isWipeAfterDelete() : getParameters().getWipeAfterDelete(); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveImageGroupCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveImageGroupCommand.java index e4b774a..6065f84 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveImageGroupCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveImageGroupCommand.java @@ -9,6 +9,11 @@ import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.asynctasks.EntityInfo; import org.ovirt.engine.core.common.businessentities.ImageDbOperationScope; +import org.ovirt.engine.core.common.businessentities.ImageOperation; +import org.ovirt.engine.core.common.vdscommands.CopyImageVDSCommandParameters; +import org.ovirt.engine.core.common.vdscommands.MoveImageGroupVDSCommandParameters; +import org.ovirt.engine.core.common.vdscommands.VDSCommandType; +import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase; @@ -69,4 +74,22 @@ } AuditLogDirector.log(logable, logType); } + + @Override + protected VDSReturnValue runImageVdsCommand(Guid sourceDomainId) { + VDSReturnValue vdsReturnValue = runVdsCommand( + VDSCommandType.MoveImageGroup, + new MoveImageGroupVDSCommandParameters(getDiskImage().getStoragePoolId(), + sourceDomainId, + getDiskImage() + .getId(), + getParameters().getStorageDomainId(), + getParameters().getContainerId(), + ImageOperation.Copy, + isWipeAfterDelete(), + getParameters().getForceOverride(), + getStoragePool() + .getcompatibility_version().toString())); + return vdsReturnValue; + } } -- To view, visit http://gerrit.ovirt.org/16532 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibf34e2b6c3c33dd86fe4b4243c86b01cd1b19f7c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Maor Lipchuk <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
