Maor Lipchuk has posted comments on this change.

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


Patch Set 2: (7 inline comments)

....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndAttachToPoolCommand.java
Line 30:                     .getDiskInfoList(), 
getParameters().getStorageDomainId());
Line 31:             tempVar.setSessionId(getParameters().getSessionId());
Line 32:             tempVar.setDontAttachToDefaultTag(true);
Line 33:             returnValueFromAddVm =
Line 34:                     
Backend.getInstance().runInternalAction(VdcActionType.AddVmFromScratch,
We should pass the compensation context when calling this command
Line 35:                             tempVar,
Line 36:                             
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
Line 37:         } else {
Line 38:             VmManagementParametersBase tempVar2 = new 
VmManagementParametersBase(vmStatic);


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);
same here
Line 55:             
setSucceeded(Backend.getInstance().runInternalAction(VdcActionType.AddVmToPool, 
tempVar3).getSucceeded());
Line 56:             addVmPermission();
Line 57:         }
Line 58:     }


Line 51:             
getTaskIdList().addAll(returnValueFromAddVm.getInternalTaskIdList());
Line 52:             AddVmToPoolParameters tempVar3 = new 
AddVmToPoolParameters(getParameters().getPoolId(),
Line 53:                     vmStatic.getId());
Line 54:             tempVar3.setShouldBeLogged(false);
Line 55:             
setSucceeded(Backend.getInstance().runInternalAction(VdcActionType.AddVmToPool, 
tempVar3).getSucceeded());
Add compensation for permission here
Line 56:             addVmPermission();
Line 57:         }
Line 58:     }


....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
Line 69: import 
org.ovirt.engine.core.utils.vmproperties.VmPropertiesUtils.ValidationError;
Line 70: 
Line 71: 
Line 72: @SuppressWarnings("serial")
Line 73: @DisableInPrepareMode
Need to add here also non transactive annotation
Line 74: @LockIdNameAttribute
Line 75: public class AddVmCommand<T extends VmManagementParametersBase> 
extends VmManagementCommandBase<T>
Line 76:         implements QuotaStorageDependent, QuotaVdsDependent {
Line 77: 


Line 499:                         copyVmDevices();
Line 500:                         addDiskPermissions(newDiskImages);
Line 501:                         addVmPayload();
Line 502:                         updateSmartCardDevices();
Line 503:                         setActionReturnValue(getVm().getId());
Should add this new entities to the compensation
Line 504:                         setSucceeded(true);
Line 505:                         return null;
Line 506:                     }
Line 507:                 });


....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
Line 824
Line 825
Line 826
Line 827
Line 828
Not related


--
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: 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