Daniel Erez has uploaded a new change for review.

Change subject: core: AddVmTemplate - check perms on target SDs
......................................................................

core: AddVmTemplate - check perms on target SDs

Check permissions on each target storage domain
instead of the entire data-center.

Change-Id: I1b813f457ad5dc9e2cb2b26f04caf79fd6e227a0
Bug-Url: https://bugzilla.redhat.com/961053
Signed-off-by: Daniel Erez <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
1 file changed, 11 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/92/14592/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
index 8194847..609ce86 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
@@ -48,6 +48,7 @@
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.utils.GuidUtils;
 import org.ovirt.engine.core.utils.collections.MultiValueMapUtils;
 import org.ovirt.engine.core.utils.transaction.TransactionMethod;
 import org.ovirt.engine.core.utils.transaction.TransactionSupport;
@@ -456,9 +457,16 @@
             permissionCheckSubject = new ArrayList<PermissionSubject>();
             Guid storagePoolId = getVdsGroup() == null || 
getVdsGroup().getStoragePoolId() == null ? null
                     : getVdsGroup().getStoragePoolId().getValue();
-            permissionCheckSubject.add(new PermissionSubject(storagePoolId,
-                    VdcObjectType.StoragePool,
-                    getActionType().getActionGroup()));
+
+            if (getVm() != null && !getVm().getDiskList().isEmpty()) {
+                for (DiskImage disk : 
getParameters().getDiskInfoDestinationMap().values()) {
+                    if (disk.getStorageIds() != null && 
!disk.getStorageIds().isEmpty()) {
+                        addStoragePermissionByQuotaMode(permissionCheckSubject,
+                                GuidUtils.getGuidValue(storagePoolId),
+                                
GuidUtils.getGuidValue(disk.getStorageIds().get(0)));
+                    }
+                }
+            }
 
             // host-specific parameters can be changed by administration role 
only
             if (getParameters().getMasterVm().getDedicatedVmForVds() != null ||


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

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

Reply via email to