Gilad Chaplik has uploaded a new change for review.

Change subject: core: empty quota causes FK validation
......................................................................

core: empty quota causes FK validation

When creating a disk in Foreman, the disk object is sent via
REST with empty string in id attribute:
<quota id=""/>

REST creates an empty UUID (000...) out of empty string, and causes
FK violation.

This patch fixes it by ignoring empty quota in for adding Disks.

Change-Id: Ic488486edc7c5602d24e804c9a89aeccc98fc32b
Bug-Url: https://bugzilla.redhat.com/1021393
Signed-off-by: Gilad Chaplik <gchap...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
1 file changed, 5 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/66/20466/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 25170a7..0edc5bf 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
@@ -46,8 +46,8 @@
 import org.ovirt.engine.core.common.businessentities.permissions;
 import org.ovirt.engine.core.common.config.Config;
 import org.ovirt.engine.core.common.config.ConfigValues;
-import org.ovirt.engine.core.common.locks.LockingGroup;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
+import org.ovirt.engine.core.common.locks.LockingGroup;
 import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.core.common.utils.VmDeviceType;
 import org.ovirt.engine.core.common.validation.group.UpdateEntity;
@@ -520,7 +520,10 @@
     private Guid getQuotaId() {
         if (getParameters().getDiskInfo() != null
                 && DiskStorageType.IMAGE == 
getParameters().getDiskInfo().getDiskStorageType()) {
-            return ((DiskImage) getParameters().getDiskInfo()).getQuotaId();
+            Guid quotaId = ((DiskImage) 
getParameters().getDiskInfo()).getQuotaId();
+            if (!Guid.Empty.equals(quotaId)) {
+                return quotaId;
+            }
         }
         return null;
     }


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

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

Reply via email to