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
