Daniel Erez has uploaded a new change for review. Change subject: core: validate vmNotDuringSnapshot on LiveMigrateVmDisks ......................................................................
core: validate vmNotDuringSnapshot on LiveMigrateVmDisks LiveMigrateVmDisksCommand: valifate VM is not during snapshot on canDoAction. Change-Id: Ide91ad3042bbf0889ba948763ce88444045fc104 Bug-Url: https://bugzilla.redhat.com/1162120 Signed-off-by: Daniel Erez <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommandTest.java 2 files changed, 19 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/67/35067/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java index e5e0aeb..71d6ebe 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java @@ -298,8 +298,10 @@ protected boolean canDoAction() { setStoragePoolId(getVm().getStoragePoolId()); - LiveSnapshotValidator validator = new LiveSnapshotValidator(getStoragePool().getcompatibility_version(), getVds()); - if (!validate(validator.canDoSnapshot())) { + LiveSnapshotValidator liveSnapshotValidator = new LiveSnapshotValidator(getStoragePool().getcompatibility_version(), getVds()); + SnapshotsValidator snapshotValidator = createSnapshotsValidator(); + + if (!validate(liveSnapshotValidator.canDoSnapshot()) || !validate(snapshotValidator.vmNotDuringSnapshot(getVmId()))) { return false; } diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommandTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommandTest.java index c193680..d86a69a 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommandTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommandTest.java @@ -303,6 +303,20 @@ } @Test + public void canDoActionVmDuringSnapshot() { + createParameters(); + initDiskImage(diskImageGroupId, diskImageId); + initVm(VMStatus.Up, null, diskImageId); + when(snapshotDao.exists(any(Guid.class), eq(Snapshot.SnapshotStatus.LOCKED))).thenReturn(true); + + doReturn(new ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_DURING_SNAPSHOT)).when(snapshotsValidator) + .vmNotDuringSnapshot(any(Guid.class)); + + CanDoActionTestUtils.runAndAssertCanDoActionFailure(command, + VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_DURING_SNAPSHOT); + } + + @Test public void canDoActionVmHavingDeviceSnapshotsPluggedToOtherVmsThatAreNotDown() { createParameters(); initDiskImage(diskImageGroupId, diskImageId); @@ -399,5 +413,6 @@ doReturn(ValidationResult.VALID).when(vmValidator).vmNotRunningStateless(); doReturn(ValidationResult.VALID).when(diskValidator).isDiskPluggedToVmsThatAreNotDown(anyBoolean(), anyList()); doReturn(ValidationResult.VALID).when(snapshotsValidator).vmNotInPreview(any(Guid.class)); + doReturn(ValidationResult.VALID).when(snapshotsValidator).vmNotDuringSnapshot(any(Guid.class)); } } -- To view, visit http://gerrit.ovirt.org/35067 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ide91ad3042bbf0889ba948763ce88444045fc104 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
