Gilad Chaplik has uploaded a new change for review. Change subject: engine: profiles MLA support ......................................................................
engine: profiles MLA support Introducing disk profiles Action Groups and adding to relevant roles. Change-Id: I4d4ac948a401d5ad2f59c6151c69e0b0ab42aea2 Signed-off-by: Gilad Chaplik <[email protected]> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/PermitType.java M backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/roles_ui/RoleTreeView.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java M frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties A packaging/dbscripts/upgrade/03_05_0960_add_disk_profile_action_groups.sql 8 files changed, 101 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/09/31809/1 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 9d1c9e9..0db427b 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 @@ -132,7 +132,13 @@ AUDIT_LOG_MANAGEMENT(1304, RoleType.ADMIN, false), // affinity group CRUD commands - MANIPULATE_AFFINITY_GROUPS(1550, RoleType.ADMIN, true, ApplicationMode.VirtOnly); + MANIPULATE_AFFINITY_GROUPS(1550, RoleType.ADMIN, true, ApplicationMode.VirtOnly), + + // disk profiles + CONFIGURE_STORAGE_DISK_PROFILE(1560, RoleType.ADMIN, true, ApplicationMode.VirtOnly), + CREATE_STORAGE_DISK_PROFILE(1561, RoleType.ADMIN, true, ApplicationMode.VirtOnly), + DELETE_STORAGE_DISK_PROFILE(1562, RoleType.ADMIN, true, ApplicationMode.VirtOnly); + private int id; private RoleType roleType; diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/PermitType.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/PermitType.java index 439ae0f..01e9dc4 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/PermitType.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/PermitType.java @@ -115,7 +115,13 @@ EVENT_NOTIFICATION_MANAGEMENT, AUDIT_LOG_MANAGEMENT, // affinity groups CRUD commands - MANIPULATE_AFFINITY_GROUPS; + MANIPULATE_AFFINITY_GROUPS, + + // disk profile + CONFIGURE_STORAGE_DISK_PROFILE, + CREATE_STORAGE_DISK_PROFILE, + DELETE_STORAGE_DISK_PROFILE; + public String value() { return name().toLowerCase(); diff --git a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java index ff9d19f..6796250 100644 --- a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java +++ b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java @@ -192,6 +192,12 @@ return PermitType.MANIPULATE_AFFINITY_GROUPS; case ADD_USERS_AND_GROUPS_FROM_DIRECTORY: return PermitType.ADD_USERS_AND_GROUPS_FROM_DIRECTORY; + case CREATE_STORAGE_DISK_PROFILE: + return PermitType.CREATE_STORAGE_DISK_PROFILE; + case CONFIGURE_STORAGE_DISK_PROFILE: + return PermitType.CONFIGURE_STORAGE_DISK_PROFILE; + case DELETE_STORAGE_DISK_PROFILE: + return PermitType.DELETE_STORAGE_DISK_PROFILE; default: return null; } @@ -348,6 +354,12 @@ return ActionGroup.MANIPULATE_AFFINITY_GROUPS; case ADD_USERS_AND_GROUPS_FROM_DIRECTORY: return ActionGroup.ADD_USERS_AND_GROUPS_FROM_DIRECTORY; + case CREATE_STORAGE_DISK_PROFILE: + return ActionGroup.CREATE_STORAGE_DISK_PROFILE; + case CONFIGURE_STORAGE_DISK_PROFILE: + return ActionGroup.CONFIGURE_STORAGE_DISK_PROFILE; + case DELETE_STORAGE_DISK_PROFILE: + return ActionGroup.DELETE_STORAGE_DISK_PROFILE; default: return null; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/roles_ui/RoleTreeView.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/roles_ui/RoleTreeView.java index 20121cf..f801756 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/roles_ui/RoleTreeView.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/roles_ui/RoleTreeView.java @@ -231,7 +231,7 @@ } protected static RoleNode createStorageDomainRoleTree() { - return new RoleNode(getConstants().storageDomainRoleTree(), + return new RoleNode(getConstants().storageDomainRoleTree(), new RoleNode[] { new RoleNode(getConstants().configureStorageDomainRoleTree(), new RoleNode[] { new RoleNode(ActionGroup.CREATE_STORAGE_DOMAIN, getConstants().allowToCreateStorageDomainRoleTreeTooltip()), @@ -240,7 +240,14 @@ new RoleNode(ActionGroup.EDIT_STORAGE_DOMAIN_CONFIGURATION, getConstants().allowToModifyStorageDomainPropertiesRoleTreeTooltip()), new RoleNode(ActionGroup.MANIPULATE_STORAGE_DOMAIN, - getConstants().allowToChangeStorageDomainStatusRoleTreeTooltip()) })); + getConstants().allowToChangeStorageDomainStatusRoleTreeTooltip()) }), + new RoleNode(getConstants().configureDiskProfileRoleTree(), new RoleNode[] { + new RoleNode(ActionGroup.CREATE_STORAGE_DISK_PROFILE, + getConstants().allowToCreateDiskProfileRoleTreeTooltip()), + new RoleNode(ActionGroup.DELETE_STORAGE_DISK_PROFILE, + getConstants().allowToDeleteDiskProfileRoleTreeTooltip()), + new RoleNode(ActionGroup.CONFIGURE_STORAGE_DISK_PROFILE, + getConstants().allowToUpdateDiskProfileRoleTreeTooltip()) }) }); } protected static RoleNode createNetworkRoleTree() { diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java index 5ffecf7..f21a22c 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java @@ -204,6 +204,12 @@ String ActionGroup___MANIPULATE_GLUSTER_SERVICE(); + String ActionGroup___CONFIGURE_STORAGE_DISK_PROFILE(); + + String ActionGroup___CREATE_STORAGE_DISK_PROFILE(); + + String ActionGroup___DELETE_STORAGE_DISK_PROFILE(); + String EventNotificationEntity___Host(); String EventNotificationEntity___VdsGroup(); diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java index 8ee6284..9af7011 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java @@ -1449,6 +1449,18 @@ @DefaultStringValue("Configure Storage Domain") String configureStorageDomainRoleTree(); + @DefaultStringValue("Configure Disk Profile") + String configureDiskProfileRoleTree(); + + @DefaultStringValue("Allow to create Disk Profile") + String allowToCreateDiskProfileRoleTreeTooltip(); + + @DefaultStringValue("Allow to delete Disk Profile") + String allowToDeleteDiskProfileRoleTreeTooltip(); + + @DefaultStringValue("Allow to update Disk Profile") + String allowToUpdateDiskProfileRoleTreeTooltip(); + @DefaultStringValue("Cluster") String clusterRoleTree(); diff --git a/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties b/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties index 5ce7131..792f020 100644 --- a/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties +++ b/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties @@ -98,6 +98,9 @@ ActionGroup___MANIPULATE_GLUSTER_HOOK=Manipulate Gluster Hook ActionGroup___MANIPULATE_GLUSTER_SERVICE=Manipulate Service ActionGroup___MANIPULATE_AFFINITY_GROUPS=Manipulate Affinity Groups +ActionGroup___CONFIGURE_STORAGE_DISK_PROFILE=Manipulate Disk Profiles +ActionGroup___CREATE_STORAGE_DISK_PROFILE=Create Disk Profiles +ActionGroup___DELETE_STORAGE_DISK_PROFILE=Delete Disk Profiles EventNotificationEntity___Host=General Host Events: EventNotificationEntity___VdsGroup=Cluster Events: EventNotificationEntity___VirtHost=Virt Host Events: diff --git a/packaging/dbscripts/upgrade/03_05_0960_add_disk_profile_action_groups.sql b/packaging/dbscripts/upgrade/03_05_0960_add_disk_profile_action_groups.sql new file mode 100644 index 0000000..3c0b0dc --- /dev/null +++ b/packaging/dbscripts/upgrade/03_05_0960_add_disk_profile_action_groups.sql @@ -0,0 +1,45 @@ +-- add permissions to disk profile (according to existing permissions on storage). + +------------------------------------------------ +--- Update existing roles with new Action Groups +------------------------------------------------ +-- Add ActionGroup 1560 (CONFIGURE_STORAGE_DISK_PROFILE) to any role which contains EDIT_STORAGE_DOMAIN_CONFIGURATION(601) or MANIPULATE_STORAGE_DOMAIN(603) +INSERT INTO roles_groups (role_id, action_group_id) +SELECT DISTINCT role_id, 1560 +FROM roles_groups a +WHERE NOT EXISTS (SELECT 1 + FROM roles_groups b + WHERE b.role_id = a.role_id + AND b.action_group_id = 1560) + AND EXISTS (SELECT 1 + FROM roles_groups b + WHERE b.role_id = a.role_id + AND (b.action_group_id = 601 OR b.action_group_id = 603)); + +-- Add ActionGroup 1561 (CREATE_STORAGE_DISK_PROFILE) to any role which contains ActionGroup CREATE_STORAGE_DOMAIN(600) +INSERT INTO roles_groups (role_id, action_group_id) +SELECT DISTINCT role_id, 1561 +FROM roles_groups a +WHERE NOT EXISTS (SELECT 1 + FROM roles_groups b + WHERE b.role_id = a.role_id + AND b.action_group_id = 1561) + AND EXISTS (SELECT 1 + FROM roles_groups b + WHERE b.role_id = a.role_id + AND b.action_group_id = 600); + +-- Add ActionGroup 1562 (DELETE_STORAGE_DISK_PROFILE) to any role which contains ActionGroup DELETE_STORAGE_DOMAIN(602) +INSERT INTO roles_groups (role_id, action_group_id) +SELECT DISTINCT role_id, 1562 +FROM roles_groups a +WHERE NOT EXISTS (SELECT 1 + FROM roles_groups b + WHERE b.role_id = a.role_id + AND b.action_group_id = 1562) + AND EXISTS (SELECT 1 + FROM roles_groups b + WHERE b.role_id = a.role_id + AND b.action_group_id = 602); + + -- To view, visit http://gerrit.ovirt.org/31809 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4d4ac948a401d5ad2f59c6151c69e0b0ab42aea2 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Gilad Chaplik <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
