Moti Asayag has uploaded a new change for review.

Change subject: engine: Introduce permissions on network
......................................................................

engine: Introduce permissions on network

The patch adds the Network as an entity of the system
hierarchy as a direct descendant of Data-Center.

The VmInterface entity is deleted from the model as not being used.
The Network entity will use the available entity id once occupied
by the VmInterface.

The feature page link:
http://wiki.ovirt.org/wiki/Feature/NetworkPermissions

Change-Id: If25d943cc3b7256b86a8c53ce8d37bb3b928521b
Signed-off-by: Moti Asayag <[email protected]>
---
M backend/manager/dbscripts/create_functions.sql
A backend/manager/dbscripts/upgrade/03_02_0010_delete_permissions_on_vnic.sql
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcObjectType.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbFacadeDAOTest.java
5 files changed, 25 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/33/9533/1

diff --git a/backend/manager/dbscripts/create_functions.sql 
b/backend/manager/dbscripts/create_functions.sql
index 7748c22..0ae1551 100644
--- a/backend/manager/dbscripts/create_functions.sql
+++ b/backend/manager/dbscripts/create_functions.sql
@@ -159,7 +159,7 @@
                Quota = 17,
                GlusterVolume = 18,
         Disk = 19,
-        VmInterface = 20
+        Network = 20
 */
 DECLARE
        v_entity_type int4 := v_object_type;
@@ -169,7 +169,6 @@
        v_image_id uuid;
        v_storage_id uuid;
     v_vm_id uuid;
-    v_vm_interface_id uuid;
     v_storage_pool_id uuid;
 
 BEGIN
@@ -304,18 +303,19 @@
             UNION
             SELECT v_entity_id AS id;
 
-       WHEN v_entity_type = 20 THEN -- VmInterface
+       WHEN v_entity_type = 20 THEN -- Network
 
-        select into v_vm_interface_id, v_storage_pool_id
-               vm_interface.id, network.storage_pool_id
-               from vm_interface inner join network on 
vm_interface.network_name=network.name;
+        SELECT INTO v_storage_pool_id
+                    network.storage_pool_id
+        FROM network
+        WHERE network.id = v_entity_id;
 
         RETURN QUERY
             SELECT system_root_id AS id
             UNION
-            SELECT v_vm_interface_id AS id
+            SELECT v_storage_pool_id AS id
             UNION
-            SELECT v_storage_pool_id AS id;
+            SELECT v_entity_id AS id;
        ELSE
                IF v_entity_type IN ( 1,14,15,16 ) THEN -- Data Center, users 
and roles are under system
                        RETURN QUERY
@@ -455,7 +455,7 @@
         Quota = 17,
         GlusterVolume = 18,
         Disk = 19,
-        VmInterface = 20
+        Network = 20
 */
 DECLARE
     v_entity_type int4 := v_object_type;
@@ -493,7 +493,7 @@
     WHEN v_entity_type = 19 THEN
         result := ( SELECT disk_alias FROM base_disks WHERE disk_id = 
v_entity_id );
     WHEN v_entity_type = 20 THEN
-        result := ( SELECT name FROM vm_interface WHERE id = v_entity_id );
+        result := ( SELECT name FROM network WHERE id = v_entity_id );
     ELSE
         result := 'Unknown type ' ||  v_entity_type;
     END CASE;
diff --git 
a/backend/manager/dbscripts/upgrade/03_02_0010_delete_permissions_on_vnic.sql 
b/backend/manager/dbscripts/upgrade/03_02_0010_delete_permissions_on_vnic.sql
new file mode 100644
index 0000000..84b221b
--- /dev/null
+++ 
b/backend/manager/dbscripts/upgrade/03_02_0010_delete_permissions_on_vnic.sql
@@ -0,0 +1,4 @@
+-- Delete permissions if were given for VmNetworkInterface as
+-- it being removed from the entities hierarchy
+
+delete from permissions where object_type_id = 20;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcObjectType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcObjectType.java
index b61d1d9..ea5327b 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcObjectType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcObjectType.java
@@ -27,7 +27,7 @@
     Quota(17, "Quota"),
     GlusterVolume(18, "Gluster Volume"),
     Disk(19, "Disk"),
-    VmInterface(20, "VmInterface"),
+    Network(20, "Network"),
     Snapshot(21, "Snapshot");
 
     private int value;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java
index cdf988b..67c897b 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java
@@ -93,7 +93,7 @@
     DELETE_DISK(1104, RoleType.USER, VdcObjectType.Disk, true, 
ApplicationMode.VirtOnly),
 
     // Network
-    PORT_MIRRORING(1200, RoleType.ADMIN, VdcObjectType.VmInterface, false),
+    PORT_MIRRORING(1200, RoleType.ADMIN, VdcObjectType.Network, false),
 
     // Login action group
     LOGIN(1300, RoleType.USER, VdcObjectType.Bottom, false);
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbFacadeDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbFacadeDAOTest.java
index 946ebbc..5caa238 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbFacadeDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbFacadeDAOTest.java
@@ -22,19 +22,19 @@
 import org.ovirt.engine.core.common.businessentities.BaseDisk;
 import org.ovirt.engine.core.common.businessentities.DbUser;
 import org.ovirt.engine.core.common.businessentities.MigrationSupport;
+import org.ovirt.engine.core.common.businessentities.Network;
 import org.ovirt.engine.core.common.businessentities.Quota;
+import org.ovirt.engine.core.common.businessentities.Role;
 import org.ovirt.engine.core.common.businessentities.RoleType;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMapId;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.VMStatus;
 import org.ovirt.engine.core.common.businessentities.VdsStatic;
-import org.ovirt.engine.core.common.businessentities.VmNetworkInterface;
 import org.ovirt.engine.core.common.businessentities.VmStatic;
 import org.ovirt.engine.core.common.businessentities.VmTemplate;
 import org.ovirt.engine.core.common.businessentities.bookmarks;
 import org.ovirt.engine.core.common.businessentities.permissions;
-import org.ovirt.engine.core.common.businessentities.Role;
 import org.ovirt.engine.core.common.businessentities.storage_domains;
 import org.ovirt.engine.core.common.businessentities.storage_pool;
 import org.ovirt.engine.core.common.businessentities.storage_pool_iso_map;
@@ -64,7 +64,7 @@
     private static final Guid ROLE_ID = new 
Guid("119caae6-5c1b-4a82-9858-dd9e5d2e1400");
     private static final Guid QUOTA_ID = new 
Guid("88296e00-0cad-4e5a-9291-008a7b7f4399");
     private static final Guid DISK_ID = new 
Guid("1b26a52b-b60f-44cb-9f46-3ef333b04a34");
-    private static final Guid VM_INTERFACE_ID = new 
Guid("e2817b12-f873-4046-b0da-0098293c14fd");
+    private static final Guid NETWORK_ID = new 
Guid("58d5c1c6-cb15-4832-b2a4-023770607188");
 
     private static final Guid ADMIN_ROLE_TYPE_FROM_FIXTURE_ID = new 
Guid("F5972BFA-7102-4D33-AD22-9DD421BFBA78");
     private static final Guid SYSTEM_OBJECT_ID = new 
Guid("AAA00000-0000-0000-0000-123456789AAA");
@@ -104,7 +104,7 @@
     public void restoreFixtures() {
         Iterator<VmStatic> vmStaticIterator = vmStatics.iterator();
         while (vmStaticIterator.hasNext()) {
-            dbFacade.getVmStaticDao().update((VmStatic) 
vmStaticIterator.next());
+            dbFacade.getVmStaticDao().update(vmStaticIterator.next());
         }
     }
 
@@ -255,7 +255,7 @@
     private VmStatic[] initVmStaticsOrderedByMigrationSupport(List<VmStatic> 
vmStatics) {
         VmStatic[] vmStaticArray = new VmStatic[NUM_OF_VM_STATIC_IN_FIXTURES];
 
-        vmStaticArray = (VmStatic[]) vmStatics.toArray(vmStaticArray);
+        vmStaticArray = vmStatics.toArray(vmStaticArray);
 
         // initialize the VMs with equal settings: non HA, priority 1 and 
MIGRATABLE
         for (int i = 0; i < vmStaticArray.length; i++) {
@@ -497,10 +497,10 @@
 
     @Test
     public void testGetEntityNameByIdAndTypeForVmInterface() {
-        VmNetworkInterface vmInterface = 
dbFacade.getVmNetworkInterfaceDao().get(VM_INTERFACE_ID);
-        assertNotNull(vmInterface);
-        String name = vmInterface.getName();
-        
assertTrue(name.equals(dbFacade.getEntityNameByIdAndType(VM_INTERFACE_ID, 
VdcObjectType.VmInterface)));
+        Network network = dbFacade.getNetworkDao().get(NETWORK_ID);
+        assertNotNull(network);
+        String name = network.getName();
+        assertTrue(name.equals(dbFacade.getEntityNameByIdAndType(NETWORK_ID, 
VdcObjectType.Network)));
     }
 
     @Test


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

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

Reply via email to