Maor Lipchuk has uploaded a new change for review. Change subject: core: Validate maximum cinder snapshot once creating a snapshot. ......................................................................
core: Validate maximum cinder snapshot once creating a snapshot. Add a validation once a new snapshot gets created to validate if the maximum number of Cinder snapshot will be exceeded. Change-Id: Ic0120320f3bbb8570e7b9c7b4300b9617ccf73e9 Bug-Url: https://bugzilla.redhat.com/1185826 Signed-off-by: Maor Lipchuk <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommandTest.java 2 files changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/33/41133/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java index 72fb63b..d082805 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java @@ -25,6 +25,7 @@ import org.ovirt.engine.core.bll.tasks.TaskHandlerCommand; import org.ovirt.engine.core.bll.validator.LiveSnapshotValidator; import org.ovirt.engine.core.bll.validator.VmValidator; +import org.ovirt.engine.core.bll.validator.storage.CinderDisksValidator; import org.ovirt.engine.core.bll.validator.storage.DiskImagesValidator; import org.ovirt.engine.core.bll.validator.storage.MultipleStorageDomainsValidator; import org.ovirt.engine.core.bll.validator.storage.StoragePoolValidator; @@ -180,7 +181,8 @@ MultipleStorageDomainsValidator sdValidator = createMultipleStorageDomainsValidator(allDisks); if (!validate(sdValidator.allDomainsExistAndActive()) - || !validate(sdValidator.allDomainsWithinThresholds())) { + || !validate(sdValidator.allDomainsWithinThresholds()) + || !validateCinder()) { return false; } @@ -191,6 +193,15 @@ return validate(sdValidator.allDomainsHaveSpaceForAllDisks(vmDisksList, memoryDisksList)); } + public boolean validateCinder() { + List<CinderDisk> cinderDisks = ImagesHandler.filterDisksBasedOnCinder(DbFacade.getInstance().getDiskDao().getAllForVm(getVmId())); + if (!cinderDisks.isEmpty()) { + CinderDisksValidator cinderDisksValidator = new CinderDisksValidator(cinderDisks); + return validate(cinderDisksValidator.validateCinderDiskSnapshotsLimits()); + } + return true; + } + protected MemoryImageBuilder getMemoryImageBuilder() { if (memoryBuilder == null) { memoryBuilder = createMemoryImageBuilder(); diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommandTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommandTest.java index e5a947b..d18fe68 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommandTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommandTest.java @@ -78,6 +78,7 @@ doReturn(diskImagesValidator).when(cmd).createDiskImageValidator(any(List.class)); doReturn(multipleStorageDomainsValidator).when(cmd).createMultipleStorageDomainsValidator(any(List.class)); doReturn(memoryImageBuilder).when(cmd).getMemoryImageBuilder(); + doReturn(true).when(cmd).validateCinder(); doReturn(Guid.newGuid()).when(cmd).getStorageDomainIdForVmMemory(anyList()); } -- To view, visit https://gerrit.ovirt.org/41133 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic0120320f3bbb8570e7b9c7b4300b9617ccf73e9 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Maor Lipchuk <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
