Ravi Nori has uploaded a new change for review.

Change subject: core : Change AddVmTemplateCommand to not use placeholders 
mechanism
......................................................................

core : Change AddVmTemplateCommand to not use placeholders mechanism

AddVmTemplateCommand has been changed not
to insert placeholders for all child commands before
execution by vdsm

Change-Id: I07a9dad13443776f88b9bcbdb108eb302d01c555
Signed-off-by: Ravi Nori <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateImageTemplateCommand.java
2 files changed, 6 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/47/37147/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
index 824b134..ac093a5 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
@@ -201,14 +201,6 @@
         }
     }
 
-    @Override
-    protected void buildChildCommandInfos() {
-        Guid vmSnapshotId = Guid.newGuid();
-        for (DiskImage diskImage : mImages) {
-            addChildCommandInfo(diskImage.getImageId(), 
VdcActionType.CreateImageTemplate, buildChildCommandParameters(diskImage, 
vmSnapshotId));
-        }
-    }
-
     private CreateImageTemplateParameters 
buildChildCommandParameters(DiskImage diskImage, Guid vmSnapshotId) {
         CreateImageTemplateParameters createParams = new 
CreateImageTemplateParameters(diskImage.getImageId(),
                 getVmTemplateId(), getVmTemplateName(), getVmId());
@@ -666,9 +658,13 @@
     }
 
     protected void addVmTemplateImages(Map<Guid, Guid> 
srcDeviceIdToTargetDeviceIdMapping) {
+        Guid vmSnapshotId = Guid.newGuid();
         for (DiskImage diskImage : mImages) {
             // The return value of this action is the 'copyImage' task GUID:
-            VdcReturnValueBase retValue = 
executeChildCommand(diskImage.getImageId());
+            VdcReturnValueBase retValue = 
Backend.getInstance().runInternalAction(
+                    VdcActionType.CreateImageTemplate,
+                    buildChildCommandParameters(diskImage, vmSnapshotId),
+                    cloneContextAndDetachFromParent());
 
             if (!retValue.getSucceeded()) {
                 throw new VdcBLLException(retValue.getFault().getError(), 
retValue.getFault().getMessage());
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateImageTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateImageTemplateCommand.java
index 90a0d0f..d338ad0 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateImageTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateImageTemplateCommand.java
@@ -37,11 +37,6 @@
     }
 
     @Override
-    protected void insertAsyncTaskPlaceHolders() {
-        persistAsyncTaskPlaceHolder(VdcActionType.AddVmTemplate);
-    }
-
-    @Override
     protected void executeCommand() {
         Guid storagePoolId = getDiskImage().getStoragePoolId() != null ? 
getDiskImage().getStoragePoolId()
                 : Guid.Empty;
@@ -54,7 +49,7 @@
         DiskImage newImage = cloneDiskImage(getDestinationImageId());
         fillVolumeInformation(newImage);
 
-        Guid taskId = getAsyncTaskId();
+        Guid taskId = persistAsyncTaskPlaceHolder(VdcActionType.AddVmTemplate);
 
         VolumeFormat targetFormat = 
getTargetVolumeFormat(newImage.getVolumeFormat(), newImage.getVolumeType(),
                 getParameters().getDestinationStorageDomainId());


-- 
To view, visit http://gerrit.ovirt.org/37147
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I07a9dad13443776f88b9bcbdb108eb302d01c555
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ravi Nori <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to