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

Reply via email to