Ravi Nori has uploaded a new change for review.

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

<core>: 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>

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

Change-Id: I8cb77b017282733d72ff66af499b576674674e01
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, 34 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/28/8628/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 352f61d..c58e93a 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;
@@ -299,6 +300,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..f08a91d
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/WipeAfterDeleteUtils.java
@@ -0,0 +1,18 @@
+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 {
+
+    private static final boolean WIPE_AFTER_DELETE_FILE_DOMAIN = false;
+
+    public static boolean getDefaultWipeAfterDeleteFlag(final StorageType 
storageType) {
+        if(storageType.isBlockDomain()) {
+             return Config.<Boolean>GetValue(ConfigValues.SANWipeAfterDelete);
+        } else {
+            return WIPE_AFTER_DELETE_FILE_DOMAIN;
+        }
+    }
+}
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/8628
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8cb77b017282733d72ff66af499b576674674e01
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