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

Reply via email to