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