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