Ravi Nori has uploaded a new change for review.

Change subject: <restapi>: WipeAfterDelete defaults to true in GUI, but false 
in REST API.
......................................................................

<restapi>: WipeAfterDelete defaults to true in GUI, but false in REST API.

WipeAfterDelete in gui default to false for File Storage Domains and for Block 
storage domains the value is defined by SANWipeAfterDelete' configuration 
value. The backend logic has been changed to mimic this behaviour.

Change-Id: I1aeeb7d30a604e1647446021e3a96f35f3b4e2b7
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=845466
Signed-off-by: Ravi Nori <rn...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/WipeAfterDeleteUtils.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BaseDisk.java
3 files changed, 46 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/70/8570/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
index 85fb375..ce420b4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
@@ -14,6 +14,7 @@
 import org.ovirt.engine.core.bll.storage.StorageDomainCommandBase;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
 import org.ovirt.engine.core.bll.utils.VmDeviceUtils;
+import org.ovirt.engine.core.bll.utils.WipeAfterDeleteUtils;
 import org.ovirt.engine.core.bll.validator.StorageDomainValidator;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.VdcObjectType;
@@ -282,6 +283,10 @@
     @Override
     protected void executeVmCommand() {
         ImagesHandler.setDiskAlias(getParameters().getDiskInfo(), getVm());
+        if(!getParameters().getDiskInfo().isWipeAfterDeleteSet()) {
+            StorageType storageType = getStorageDomain().getstorage_type();
+            
getParameters().getDiskInfo().setWipeAfterDelete(WipeAfterDeleteUtils.getDefaultWipeAfterDeleteFlag(storageType));
+        }
         if (DiskStorageType.IMAGE == 
getParameters().getDiskInfo().getDiskStorageType()) {
             createDiskBasedOnImage();
         } else {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/WipeAfterDeleteUtils.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/WipeAfterDeleteUtils.java
new file mode 100644
index 0000000..5a4442c
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/WipeAfterDeleteUtils.java
@@ -0,0 +1,30 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ovirt.engine.core.bll.utils;
+
+import org.ovirt.engine.core.common.businessentities.StorageType;
+import org.ovirt.engine.core.common.config.Config;
+import org.ovirt.engine.core.common.config.ConfigValues;
+
+public class WipeAfterDeleteUtils {
+
+    static Boolean wipeAfterDeleteBlockStorageDomain;
+
+    static boolean wipeAfterDeleteFileStorageDomain = false;
+
+    public static synchronized boolean getDefaultWipeAfterDeleteFlag(final 
StorageType storageType) {
+        if(storageType.isBlockDomain()) {
+            if(wipeAfterDeleteBlockStorageDomain == null) {
+                    wipeAfterDeleteBlockStorageDomain =
+                            
Config.<Boolean>GetValue(ConfigValues.SANWipeAfterDelete);
+            }
+            return wipeAfterDeleteBlockStorageDomain;
+        }
+        if(storageType.isFileDomain()) {
+            return wipeAfterDeleteFileStorageDomain;
+        }
+        return false;
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BaseDisk.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BaseDisk.java
index 8b533c0..b2df31b 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BaseDisk.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BaseDisk.java
@@ -64,7 +64,7 @@
     /**
      * Should the disk be wiped after it's deleted.
      */
-    private boolean wipeAfterDelete;
+    private Boolean wipeAfterDelete;
 
     /**
      * Should disk errors be propagated to the guest?
@@ -125,7 +125,14 @@
     }
 
     public boolean isWipeAfterDelete() {
-        return wipeAfterDelete;
+        if (isWipeAfterDeleteSet()) {
+            return wipeAfterDelete;
+        }
+        return false;
+    }
+
+    public boolean isWipeAfterDeleteSet() {
+        return wipeAfterDelete != null;
     }
 
     public void setWipeAfterDelete(boolean wipeAfterDelete) {
@@ -182,7 +189,7 @@
         result = prime * result + ((id == null) ? 0 : id.hashCode());
         result = prime * result + ((propagateErrors == null) ? 0 : 
propagateErrors.hashCode());
         result = prime * result + (shareable ? 1231 : 1237);
-        result = prime * result + (wipeAfterDelete ? 1231 : 1237);
+        result = prime * result + (isWipeAfterDelete() ? 1231 : 1237);
         result = prime * result + (boot ? 1231 : 1237);
         return result;
     }
@@ -217,7 +224,7 @@
             return false;
         if (shareable != other.shareable)
             return false;
-        if (wipeAfterDelete != other.wipeAfterDelete)
+        if (isWipeAfterDelete() != other.isWipeAfterDelete())
             return false;
         if (boot != other.boot)
             return false;


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1aeeb7d30a604e1647446021e3a96f35f3b4e2b7
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ravi Nori <rn...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to