Tal Nisan has uploaded a new change for review. Change subject: core: Removed force select SPM command params storage pool id ......................................................................
core: Removed force select SPM command params storage pool id Removed the storage pool id from the force select SPM command parameters the storage pool id can be found easily since the host is a part of a single pool anyway (or no pool at all) and we fetch the storage pool from the database anyway so we can remove this overhead Change-Id: I649d565b645664bf6b57227cc330494e2e158a8e Signed-off-by: Tal Nisan <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ForceSelectSPMCommand.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ForceSelectSPMCommandTest.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java 3 files changed, 17 insertions(+), 15 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/16960/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ForceSelectSPMCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ForceSelectSPMCommand.java index 814d712..6251923 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ForceSelectSPMCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ForceSelectSPMCommand.java @@ -9,6 +9,7 @@ import org.ovirt.engine.core.common.action.ForceSelectSPMParameters; import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions; +import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.VDSStatus; import org.ovirt.engine.core.common.businessentities.VdsSpmStatus; import org.ovirt.engine.core.common.errors.VdcBllMessages; @@ -34,10 +35,11 @@ return failCanDoAction(VdcBllMessages.CANNOT_FORCE_SELECT_SPM_VDS_NOT_UP); } - if (getParameters().getStoragePoolId() == null - || !getParameters().getStoragePoolId().equals(getVds().getStoragePoolId())) { + StoragePool storagePool = getStoragePoolDAO().getForVds(getVds().getId()); + if (storagePool == null) { return failCanDoAction(VdcBllMessages.CANNOT_FORCE_SELECT_SPM_VDS_NOT_IN_POOL); } + setStoragePool(storagePool); if (getVds().getSpmStatus() != VdsSpmStatus.None) { return failCanDoAction(VdcBllMessages.CANNOT_FORCE_SELECT_SPM_VDS_ALREADY_SPM); @@ -47,7 +49,7 @@ return failCanDoAction(VdcBllMessages.CANNOT_FORCE_SELECT_SPM_VDS_MARKED_AS_NEVER_SPM); } - if (isAsyncTasksRunningOnPool(getParameters().getStoragePoolId())) { + if (isAsyncTasksRunningOnPool(getStoragePool().getId())) { return failCanDoAction(VdcBllMessages.CANNOT_FORCE_SELECT_SPM_STORAGE_POOL_HAS_RUNNING_TASKS); } @@ -57,8 +59,7 @@ @Override protected void executeCommand() { SpmStopOnIrsVDSCommandParameters params = - new SpmStopOnIrsVDSCommandParameters(getParameters().getStoragePoolId(), - getParameters().getPreferredSPMId()); + new SpmStopOnIrsVDSCommandParameters(getStoragePool().getId(), getParameters().getPreferredSPMId()); runVdsCommand(VDSCommandType.SpmStopOnIrs, params); setSucceeded(true); } @@ -89,9 +90,6 @@ @Override public List<PermissionSubject> getPermissionCheckSubjects() { List<PermissionSubject> permissions = new ArrayList<PermissionSubject>(); - permissions.add(new PermissionSubject(getParameters().getStoragePoolId(), - VdcObjectType.StoragePool, - ActionGroup.MANIPUTLATE_HOST)); permissions.add(new PermissionSubject(getParameters().getPreferredSPMId(), VdcObjectType.VDS, ActionGroup.MANIPUTLATE_HOST)); diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ForceSelectSPMCommandTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ForceSelectSPMCommandTest.java index 447d92a..c5fb913 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ForceSelectSPMCommandTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ForceSelectSPMCommandTest.java @@ -16,6 +16,7 @@ import org.mockito.runners.MockitoJUnitRunner; import org.ovirt.engine.core.common.action.ForceSelectSPMParameters; import org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions; +import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VDSStatus; import org.ovirt.engine.core.common.businessentities.VdsSpmStatus; @@ -36,6 +37,7 @@ private ForceSelectSPMCommand<ForceSelectSPMParameters> command; private VDS vds; + private StoragePool storagePool; @Mock private VdsDAO vdsDAOMock; @@ -48,7 +50,7 @@ @Before public void setup() { - createVDS(); + createVDSandStoragePool(); mockCommand(); } @@ -68,7 +70,7 @@ @Test public void testCDAStoragePoolValid() { - vds.setStoragePoolId(Guid.newGuid()); + vds.setId(Guid.newGuid()); assertFalse("canDoAction did not fail on mismatch Storage Pool", command.canDoAction()); checkMessagesContains(command, VdcBllMessages.CANNOT_FORCE_SELECT_SPM_VDS_NOT_IN_POOL); } @@ -95,7 +97,7 @@ checkMessagesContains(command, VdcBllMessages.CANNOT_FORCE_SELECT_SPM_STORAGE_POOL_HAS_RUNNING_TASKS); } - private void createVDS() { + private void createVDSandStoragePool() { vds = new VDS(); vds.setId(vdsId); vds.setVdsName("TestVDS"); @@ -103,14 +105,18 @@ vds.setStatus(VDSStatus.Up); vds.setSpmStatus(VdsSpmStatus.None); vds.setVdsSpmPriority(10); + + storagePool = new StoragePool(); + storagePool.setId(storagePoolId); } private void mockCommand() { - ForceSelectSPMParameters params = new ForceSelectSPMParameters(storagePoolId, vdsId); + ForceSelectSPMParameters params = new ForceSelectSPMParameters(vdsId); command = spy(new ForceSelectSPMCommand<ForceSelectSPMParameters>(params)); doReturn(vdsDAOMock).when(command).getVdsDAO(); doReturn(storagePoolDAOMock).when(command).getStoragePoolDAO(); doReturn(asyncTaskDAOMock).when(command).getAsyncTaskDao(); + doReturn(storagePool).when(storagePoolDAOMock).getForVds(vdsId); doReturn(vds).when(vdsDAOMock).get(vdsId); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java index 0ea1e72..d6fff17 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java @@ -1815,9 +1815,7 @@ } private void selectAsSPM() { - ForceSelectSPMParameters params = - new ForceSelectSPMParameters(((VDS) getSelectedItem()).getStoragePoolId(), - ((VDS) getSelectedItem()).getId()); + ForceSelectSPMParameters params = new ForceSelectSPMParameters(((VDS) getSelectedItem()).getId()); Frontend.RunAction(VdcActionType.ForceSelectSPM, params); } -- To view, visit http://gerrit.ovirt.org/16960 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I649d565b645664bf6b57227cc330494e2e158a8e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tal Nisan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
