Michael Kublin has posted comments on this change.

Change subject: core: use local TX in AddVm flow
......................................................................


Patch Set 2: (4 inline comments)

....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndAttachToPoolCommand.java
Line 31:             tempVar.setSessionId(getParameters().getSessionId());
Line 32:             tempVar.setDontAttachToDefaultTag(true);
Line 33:             returnValueFromAddVm =
Line 34:                     
Backend.getInstance().runInternalAction(VdcActionType.AddVmFromScratch,
Line 35:                             tempVar,
I don't think, a new context should be created inside AddVmFromScratch command, 
if a command is failed a rollback will be performed inside, so nothing to do 
with compensation context inside AddVmAndAttachToPoolCommand
Line 36:                             
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
Line 37:         } else {
Line 38:             VmManagementParametersBase tempVar2 = new 
VmManagementParametersBase(vmStatic);
Line 39:             tempVar2.setSessionId(getParameters().getSessionId());


Line 39:             tempVar2.setSessionId(getParameters().getSessionId());
Line 40:             tempVar2.setDontCheckTemplateImages(true);
Line 41:             tempVar2.setDontAttachToDefaultTag(true);
Line 42:             tempVar2.setDiskInfoDestinationMap(diskInfoDestinationMap);
Line 43:             returnValueFromAddVm =
same here
Line 44:                     
Backend.getInstance().runInternalAction(VdcActionType.AddVm,
Line 45:                             tempVar2,
Line 46:                             
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
Line 47:         }


Line 50:         if (vmAddedSuccessfully) {
Line 51:             
getTaskIdList().addAll(returnValueFromAddVm.getInternalTaskIdList());
Line 52:             AddVmToPoolParameters tempVar3 = new 
AddVmToPoolParameters(getParameters().getPoolId(),
Line 53:                     vmStatic.getId());
Line 54:             tempVar3.setShouldBeLogged(false);
AddVmToPool can not failed, it is a simple db update , maybe we don't need such 
command at all
Line 55:             
setSucceeded(Backend.getInstance().runInternalAction(VdcActionType.AddVmToPool, 
tempVar3).getSucceeded());
Line 56:             addVmPermission();
Line 57:         }
Line 58:     }


....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
Line 499:                         copyVmDevices();
Line 500:                         addDiskPermissions(newDiskImages);
Line 501:                         addVmPayload();
Line 502:                         updateSmartCardDevices();
Line 503:                         setActionReturnValue(getVm().getId());
I don't think, images were created, task send to vdsm, db is updated. Success 
or failure depend on AsyncTaskManager
Line 504:                         setSucceeded(true);
Line 505:                         return null;
Line 506:                     }
Line 507:                 });


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

Gerrit-MessageType: comment
Gerrit-Change-Id: If93240cca8bee4988f28c3de574b44c9db31e8f9
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Roy Golan <rgo...@redhat.com>
Gerrit-Reviewer: Daniel Erez <de...@redhat.com>
Gerrit-Reviewer: Gilad Chaplik <gchap...@redhat.com>
Gerrit-Reviewer: Liron Ar <lara...@redhat.com>
Gerrit-Reviewer: Maor Lipchuk <mlipc...@redhat.com>
Gerrit-Reviewer: Michael Kublin <mkub...@redhat.com>
Gerrit-Reviewer: Omer Frenkel <ofren...@redhat.com>
Gerrit-Reviewer: Roy Golan <rgo...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to