Vered Volansky has uploaded a new change for review.

Change subject: core: Add space validation on create snapshot
......................................................................

core: Add space validation on create snapshot

Added CDA with missing storage space validations.

Change-Id: I0a5b5df695d30a34fbdef31da2320b322e27466b
Bug-Url: https://bugzilla.redhat.com/1053752
Signed-off-by: Vered Volansky <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateSnapshotCommand.java
1 file changed, 18 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/58/29258/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateSnapshotCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateSnapshotCommand.java
index aef5aa2..5d5cf74 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateSnapshotCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateSnapshotCommand.java
@@ -7,12 +7,14 @@
 import java.util.Date;
 
 import org.ovirt.engine.core.bll.tasks.TaskManagerUtil;
+import org.ovirt.engine.core.bll.validator.StorageDomainValidator;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.ImagesActionsParametersBase;
 import org.ovirt.engine.core.common.action.ImagesContainterParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.asynctasks.AsyncTaskType;
 import org.ovirt.engine.core.common.businessentities.DiskImage;
+import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.VolumeFormat;
 import org.ovirt.engine.core.common.businessentities.VolumeType;
 import org.ovirt.engine.core.common.errors.VdcBLLException;
@@ -52,6 +54,18 @@
     @Override
     protected void insertAsyncTaskPlaceHolders() {
         persistAsyncTaskPlaceHolder(getParameters().getParentCommand());
+    }
+
+    @Override
+    protected boolean canDoAction() {
+        return validateSpaceRequirements();
+    }
+
+    protected boolean validateSpaceRequirements() {
+        StorageDomain storageDomain = getStorageDomain();
+        StorageDomainValidator storageDomainValidator = 
createStorageDomainValidator(storageDomain);
+        return validate(storageDomainValidator.isDomainWithinThresholds())
+            && 
validate(storageDomainValidator.hasSpaceForNewDisk(newDiskImage));
     }
 
     @Override
@@ -180,4 +194,8 @@
 
         super.endWithFailure();
     }
+
+    protected StorageDomainValidator 
createStorageDomainValidator(StorageDomain storageDomain) {
+        return new StorageDomainValidator(storageDomain);
+    }
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0a5b5df695d30a34fbdef31da2320b322e27466b
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Vered Volansky <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to