Tomas Jelinek has uploaded a new change for review.

Change subject: core: clone VM from snapshot looses the original template
......................................................................

core: clone VM from snapshot looses the original template

Fixed by making sure that when cloned (from VM or from snapshot)
that the original template info is copied from the proper source.

Change-Id: I7d3daef32ac03b1783b987e682bca6fb5cb9c07b
Bug-Url: https://bugzilla.redhat.com/1064001
Signed-off-by: Tomas Jelinek <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CloneVmCommand.java
3 files changed, 20 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/26172/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
index 99ad2a0..77faae1 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
@@ -835,12 +835,17 @@
             vmStatic.setUserDefinedProperties(userDefinedProperties);
         }
 
-        vmStatic.setOriginalTemplateGuid(vmStatic.getVmtGuid());
-        vmStatic.setOriginalTemplateName(getVmTemplate().getName());
+        updateOriginalTemplate(vmStatic);
+
         getVmStaticDao().save(vmStatic);
         getCompensationContext().snapshotNewEntity(vmStatic);
     }
 
+    protected void updateOriginalTemplate(VmStatic vmStatic) {
+        vmStatic.setOriginalTemplateGuid(vmStatic.getVmtGuid());
+        vmStatic.setOriginalTemplateName(getVmTemplate().getName());
+    }
+
     void addVmDynamic() {
         VmDynamic tempVar = new VmDynamic();
         tempVar.setId(getVmId());
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
index 30e1765..35da70b 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
@@ -10,6 +10,7 @@
 import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotStatus;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VMStatus;
+import org.ovirt.engine.core.common.businessentities.VmStatic;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
@@ -202,4 +203,10 @@
 
         return permissionList;
     }
+
+    @Override
+    protected void updateOriginalTemplate(VmStatic vmStatic) {
+        
vmStatic.setOriginalTemplateGuid(getParameters().getVmStaticData().getOriginalTemplateGuid());
+        
vmStatic.setOriginalTemplateName(getParameters().getVmStaticData().getOriginalTemplateName());
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CloneVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CloneVmCommand.java
index e2e22ba..b523c1e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CloneVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CloneVmCommand.java
@@ -13,6 +13,7 @@
 import org.ovirt.engine.core.common.businessentities.VMStatus;
 import org.ovirt.engine.core.common.businessentities.VmDevice;
 import org.ovirt.engine.core.common.businessentities.VmDeviceGeneralType;
+import org.ovirt.engine.core.common.businessentities.VmStatic;
 import org.ovirt.engine.core.common.businessentities.VmWatchdog;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
@@ -248,4 +249,9 @@
         return super.canDoAction();
     }
 
+    @Override
+    protected void updateOriginalTemplate(VmStatic vmStatic) {
+        vmStatic.setOriginalTemplateGuid(getVm().getOriginalTemplateGuid());
+        vmStatic.setOriginalTemplateName(getVm().getOriginalTemplateName());
+    }
 }


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

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

Reply via email to