Gilad Chaplik has uploaded a new change for review.

Change subject: core: runVmCommand.canDoAction clean-up (12)
......................................................................

core: runVmCommand.canDoAction clean-up (12)

move vdsSelector validation to the command itself

Change-Id: Ia048045389c5388022b5023233192a503cb3902a
Signed-off-by: Gilad Chaplik <gchap...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmRunHandler.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/RunVmCommandTest.java
5 files changed, 11 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/06/13406/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
index 8f91e85..f5deb9e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
@@ -703,6 +703,7 @@
                                     vmDisks,
                                     getParameters().getRunAsStateless()))
                             &&
+                            getVdsSelector().canFindVdsToRunOn(messages, 
false) &&
                             canRunVm(vm) &&
                             validateNetworkInterfaces();
             if (!canDoAction) {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java
index 7e5f110..e464631 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java
@@ -275,7 +275,8 @@
                 fetchStoragePool(vm.getStoragePoolId()),
                 runVmParams.getDiskPath(),
                 runVmParams.getFloppyPath(),
-                runVmParams.getRunAsStateless())
+                runVmParams.getRunAsStateless(),
+                vdsSelector)
                 &&
                 VmRunHandler.getInstance().canRunVm(vm,
                         messages,
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmRunHandler.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmRunHandler.java
index 008ff83..34a908c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmRunHandler.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmRunHandler.java
@@ -9,7 +9,6 @@
 import org.ovirt.engine.core.common.VdcActionUtils;
 import org.ovirt.engine.core.common.action.RunVmParams;
 import org.ovirt.engine.core.common.action.VdcActionType;
-import org.ovirt.engine.core.common.businessentities.Disk;
 import org.ovirt.engine.core.common.businessentities.DiskImage;
 import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
@@ -44,12 +43,6 @@
     public boolean canRunVm(VM vm, ArrayList<String> message, RunVmParams 
runParams,
             VdsSelector vdsSelector, SnapshotsValidator snapshotsValidator) {
         boolean retValue = true;
-
-        List<Disk> vmDisks = getDiskDao().getAllForVm(vm.getId(), true);
-        if (retValue) {
-        }
-
-        retValue = retValue == false ? retValue : 
vdsSelector.canFindVdsToRunOn(message, false);
 
         /**
          * only if can do action ok then check with actions matrix that status 
is valid for this action
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java
index 5eb81df..92bfeb0 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java
@@ -10,6 +10,7 @@
 import org.ovirt.engine.core.bll.ImagesHandler;
 import org.ovirt.engine.core.bll.IsoDomainListSyncronizer;
 import org.ovirt.engine.core.bll.ValidationResult;
+import org.ovirt.engine.core.bll.VdsSelector;
 import org.ovirt.engine.core.bll.VmHandler;
 import org.ovirt.engine.core.bll.interfaces.BackendInternal;
 import org.ovirt.engine.core.bll.snapshots.SnapshotsValidator;
@@ -278,7 +279,7 @@
             storage_pool storagePool,
             String diskPath,
             String floppyPath,
-            Boolean runAsStateless) {
+            Boolean runAsStateless, VdsSelector vdsSelector) {
         if (!validateVmProperties(vm, messages)) {
             return false;
         }
@@ -325,6 +326,9 @@
             messages.add(result.getMessage().toString());
             return false;
         }
+        if (!vdsSelector.canFindVdsToRunOn(messages, false)) {
+            return false;
+        }
 
         return true;
     }
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/RunVmCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/RunVmCommandTest.java
index d2812a7..9d26ff9 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/RunVmCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/RunVmCommandTest.java
@@ -49,7 +49,6 @@
 import org.ovirt.engine.core.common.vdscommands.VDSReturnValue;
 import org.ovirt.engine.core.common.vdscommands.VdsAndVmIDVDSParametersBase;
 import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.core.compat.NGuid;
 import org.ovirt.engine.core.dao.DiskDao;
 import org.ovirt.engine.core.dao.StorageDomainDAO;
 import org.ovirt.engine.core.dao.StoragePoolDAO;
@@ -343,8 +342,9 @@
         final VM vm = new VM();
         vm.setStatus(VMStatus.Down);
         vm.setStoragePoolId(Guid.NewGuid());
-        doReturn(new VdsSelector(vm, new NGuid(), true, new 
VdsFreeMemoryChecker(command))).when(command)
-                .getVdsSelector();
+        VdsSelector vdsSelector = mock(VdsSelector.class);
+        doReturn(true).when(vdsSelector).canFindVdsToRunOn(Matchers.anyList(), 
anyBoolean());
+        doReturn(vdsSelector).when(command).getVdsSelector();
         doReturn(vm).when(command).getVm();
         doReturn(true).when(command).canRunVm(vm);
         doReturn(true).when(command).validateNetworkInterfaces();


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia048045389c5388022b5023233192a503cb3902a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to