Omer Frenkel has uploaded a new change for review.

Change subject: core: fix NPE on add vm template ctor
......................................................................

core: fix NPE on add vm template ctor

AddVmTemplateCommand ctor is using masterVm from parameters,
without checking for null, this can happen when command is created
during backend recovery - so added a null check.
this is ok because the parameter is not needed in end action.

in addition the 'isVmInDb' member initialized on endAction in order
unlockVm will be called if source vm is in db.

Change-Id: I9b870a89c337a47110aaa7d20d027ad8ef06cfe8
Bug-Url: https://bugzilla.redhat.com/994860
Signed-off-by: Omer Frenkel <ofren...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
1 file changed, 4 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/44/18144/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 e823b15..c6fc154 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
@@ -8,6 +8,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.bll.quota.QuotaConsumptionParameter;
 import org.ovirt.engine.core.bll.quota.QuotaSanityParameter;
@@ -105,7 +106,7 @@
             updateVmDisks();
             setStoragePoolId(getVm().getStoragePoolId());
             isVmInDb = true;
-        } else if (getVdsGroup() != null) {
+        } else if (getVdsGroup() != null && parameterMasterVm != null) {
             VM vm = new VM(parameterMasterVm, new VmDynamic(), null);
             vm.setDisplayType(parameterMasterVm.getDefaultDisplayType());
             
vm.setVdsGroupCompatibilityVersion(getVdsGroup().getcompatibility_version());
@@ -475,6 +476,8 @@
     protected void endSuccessfully() {
         setVmTemplateId(getParameters().getVmTemplateId());
         setVmId(getVmIdFromImageParameters());
+        isVmInDb = getVm() != null;
+
         getVmStaticDAO().incrementDbGeneration(getVmTemplateId());
         for (VdcActionParametersBase p : 
getParameters().getImagesParameters()) {
             Backend.getInstance().EndAction(VdcActionType.CreateImageTemplate, 
p);


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9b870a89c337a47110aaa7d20d027ad8ef06cfe8
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Omer Frenkel <ofren...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to