Shahar Havivi has uploaded a new change for review.

Change subject: engine: Add AddVmTemplateCommand to command executer framework
......................................................................

engine: Add AddVmTemplateCommand to command executer framework

By adding AddVmTemplateCommand we can determine whether we need to delete
the template if the command failed.

Bug-Url: https://bugzilla.redhat.com/1105211
Change-Id: Ib47982264f535dcf38cd4f9319f842d75ebccd5d
Signed-off-by: Shahar Havivi <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
1 file changed, 12 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/80/31180/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 e1a50f9..bd9fa70 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
@@ -10,7 +10,6 @@
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
-
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.bll.context.CommandContext;
 import org.ovirt.engine.core.bll.quota.QuotaConsumptionParameter;
@@ -20,6 +19,7 @@
 import org.ovirt.engine.core.bll.quota.QuotaVdsDependent;
 import org.ovirt.engine.core.bll.snapshots.SnapshotsValidator;
 import org.ovirt.engine.core.bll.storage.StoragePoolValidator;
+import org.ovirt.engine.core.bll.tasks.TaskManagerUtil;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
 import org.ovirt.engine.core.bll.utils.VmDeviceUtils;
 import org.ovirt.engine.core.bll.validator.DiskImagesValidator;
@@ -60,7 +60,9 @@
 import org.ovirt.engine.core.common.locks.LockingGroup;
 import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.core.common.validation.group.CreateEntity;
+import org.ovirt.engine.core.compat.CommandStatus;
 import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.compat.backendcompat.CommandExecutionStatus;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector;
 import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
@@ -211,6 +213,7 @@
 
     @Override
     protected void executeCommand() {
+        persistCommand(getParameters().getParentCommand(), false);
         // get vm status from db to check its really down before locking
         // relevant only if template created from vm
         if (isVmInDb) {
@@ -303,6 +306,8 @@
         if (!pendingAsyncTasks) {
             endSuccessfullySynchronous();
         }
+        persistCommand(getParameters().getParentCommand(), false);
+        setCommandStatus(CommandStatus.SUCCEEDED);
     }
 
     private boolean doClusterRelatedChecks() {
@@ -690,10 +695,12 @@
                     cloneContextAndDetachFromParent());
         }
 
-        // if template exist in db remove it
-        if (getVmTemplate() != null) {
-            
DbFacade.getInstance().getVmTemplateDao().remove(getVmTemplateId());
-            removeNetwork();
+        if 
(TaskManagerUtil.getCommandExecutionStatus(getParameters().getCommandId()) == 
CommandExecutionStatus.EXECUTED) {
+            // if template exist in db remove it
+            if (getVmTemplate() != null) {
+                
DbFacade.getInstance().getVmTemplateDao().remove(getVmTemplateId());
+                removeNetwork();
+            }
         }
 
         if (!getVmId().equals(Guid.Empty) && getVm() != null) {


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

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

Reply via email to