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 <[email protected]>
Gerrit-Reviewer: Daniel Erez <[email protected]>
Gerrit-Reviewer: Gilad Chaplik <[email protected]>
Gerrit-Reviewer: Liron Ar <[email protected]>
Gerrit-Reviewer: Maor Lipchuk <[email protected]>
Gerrit-Reviewer: Michael Kublin <[email protected]>
Gerrit-Reviewer: Omer Frenkel <[email protected]>
Gerrit-Reviewer: Roy Golan <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches