Gilad Chaplik has uploaded a new change for review.

Change subject: core: RunVmCommand.canDoAction clean-up (5)
......................................................................

core: RunVmCommand.canDoAction clean-up (5)

extract not in SnapshotsValidator().vmNotDuringSnapshot

Change-Id: Iadc1f13fb40ab29fe353ed2730d89f8c142beacf
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/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
4 files changed, 8 insertions(+), 27 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/01/13401/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 06a5659..02a8bb9 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
@@ -687,6 +687,7 @@
                                     getParameters().getBootSequence(),
                                     vmDisks)) &&
                             validate(getVmValidator(vm).vmNotLocked()) &&
+                            
validate(getSnapshotsValidator().vmNotDuringSnapshot(vm.getId())) &&
                             canRunVm(vm) &&
                             validateNetworkInterfaces();
             if (!canDoAction) {
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 01499b8..b80dc31 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
@@ -65,14 +65,6 @@
         boolean retValue = true;
 
         List<Disk> vmDisks = getDiskDao().getAllForVm(vm.getId(), true);
-        if (retValue) {
-            ValidationResult vmDuringSnapshotResult =
-                    snapshotsValidator.vmNotDuringSnapshot(vm.getId());
-            if (!vmDuringSnapshotResult.isValid()) {
-                message.add(vmDuringSnapshotResult.getMessage().name());
-                retValue = false;
-            }
-        }
         List<DiskImage> vmImages = ImagesHandler.filterImageDisks(vmDisks, 
true, false);
         if (retValue && !vmImages.isEmpty()) {
             storage_pool sp = getStoragePoolDAO().get(vm.getStoragePoolId());
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 79c957a..dd73d27 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
@@ -5,6 +5,7 @@
 import org.ovirt.engine.core.bll.IsoDomainListSyncronizer;
 import org.ovirt.engine.core.bll.ValidationResult;
 import org.ovirt.engine.core.bll.VmHandler;
+import org.ovirt.engine.core.bll.snapshots.SnapshotsValidator;
 import org.ovirt.engine.core.common.businessentities.BootSequence;
 import org.ovirt.engine.core.common.businessentities.Disk;
 import org.ovirt.engine.core.common.businessentities.VM;
@@ -88,6 +89,12 @@
             messages.add(result.getMessage().toString());
             return false;
         }
+        result = new SnapshotsValidator().vmNotDuringSnapshot(vm.getId());
+        if (!result.isValid()) {
+            messages.add(result.getMessage().toString());
+            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 8490bf8..e2c15d7 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
@@ -51,7 +51,6 @@
 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.dal.VdcBllMessages;
 import org.ovirt.engine.core.dao.DiskDao;
 import org.ovirt.engine.core.dao.StorageDomainDAO;
 import org.ovirt.engine.core.dao.StoragePoolDAO;
@@ -373,24 +372,6 @@
 
         assertFalse(command.canRunVm(vm));
         
assertTrue(command.getReturnValue().getCanDoActionMessages().contains("ACTION_TYPE_FAILED_VM_IS_RUNNING"));
-    }
-
-    @Test
-    public void canRunVmFailVmDuringSnapshot() {
-        final ArrayList<Disk> disks = new ArrayList<Disk>();
-        final DiskImage diskImage = createImage();
-        disks.add(diskImage);
-        initDAOMocks(disks);
-        final VM vm = new VM();
-        SnapshotsValidator snapshotsValidator = mock(SnapshotsValidator.class);
-        when(snapshotsValidator.vmNotDuringSnapshot(vm.getId()))
-                .thenReturn(new 
ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_DURING_SNAPSHOT));
-        doReturn(snapshotsValidator).when(command).getSnapshotsValidator();
-
-        assertFalse(command.canRunVm(vm));
-        assertTrue(command.getReturnValue()
-                .getCanDoActionMessages()
-                
.contains(VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_DURING_SNAPSHOT.name()));
     }
 
     private void canRunStatelessVmTest(boolean autoStartUp,


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iadc1f13fb40ab29fe353ed2730d89f8c142beacf
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