Skip to content

Commit ace4e8a

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Simplify role addtion helper functions"
2 parents 412c86d + e69b78d commit ace4e8a

1 file changed

Lines changed: 24 additions & 41 deletions

File tree

functions-common

Lines changed: 24 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -966,53 +966,41 @@ function _get_domain_args {
966966
# Usage: get_or_add_user_project_role <role> <user> <project> [<user_domain> <project_domain>]
967967
function get_or_add_user_project_role {
968968
local user_role_id
969+
local domain_args
969970

970971
domain_args=$(_get_domain_args $4 $5)
971972

972-
# Gets user role id
973+
# Note this is idempotent so we are safe across multiple
974+
# duplicate calls.
975+
openstack --os-cloud devstack-system-admin role add $1 \
976+
--user $2 \
977+
--project $3 \
978+
$domain_args
973979
user_role_id=$(openstack --os-cloud devstack-system-admin role assignment list \
974980
--role $1 \
975981
--user $2 \
976982
--project $3 \
977983
$domain_args \
978-
| grep '^|\s[a-f0-9]\+' | get_field 1)
979-
if [[ -z "$user_role_id" ]]; then
980-
# Adds role to user and get it
981-
openstack --os-cloud devstack-system-admin role add $1 \
982-
--user $2 \
983-
--project $3 \
984-
$domain_args
985-
user_role_id=$(openstack --os-cloud devstack-system-admin role assignment list \
986-
--role $1 \
987-
--user $2 \
988-
--project $3 \
989-
$domain_args \
990-
| grep '^|\s[a-f0-9]\+' | get_field 1)
991-
fi
984+
-c Role -f value)
992985
echo $user_role_id
993986
}
994987

995988
# Gets or adds user role to domain
996989
# Usage: get_or_add_user_domain_role <role> <user> <domain>
997990
function get_or_add_user_domain_role {
998991
local user_role_id
999-
# Gets user role id
992+
993+
# Note this is idempotent so we are safe across multiple
994+
# duplicate calls.
995+
openstack --os-cloud devstack-system-admin role add $1 \
996+
--user $2 \
997+
--domain $3
1000998
user_role_id=$(openstack --os-cloud devstack-system-admin role assignment list \
1001999
--role $1 \
10021000
--user $2 \
10031001
--domain $3 \
1004-
| grep '^|\s[a-f0-9]\+' | get_field 1)
1005-
if [[ -z "$user_role_id" ]]; then
1006-
# Adds role to user and get it
1007-
openstack --os-cloud devstack-system-admin role add $1 \
1008-
--user $2 \
1009-
--domain $3
1010-
user_role_id=$(openstack --os-cloud devstack-system-admin role assignment list \
1011-
--role $1 \
1012-
--user $2 \
1013-
--domain $3 \
1014-
| grep '^|\s[a-f0-9]\+' | get_field 1)
1015-
fi
1002+
-c Role -f value)
1003+
10161004
echo $user_role_id
10171005
}
10181006

@@ -1051,23 +1039,18 @@ function get_or_add_user_system_role {
10511039
# Usage: get_or_add_group_project_role <role> <group> <project>
10521040
function get_or_add_group_project_role {
10531041
local group_role_id
1054-
# Gets group role id
1042+
1043+
# Note this is idempotent so we are safe across multiple
1044+
# duplicate calls.
1045+
openstack role add $1 \
1046+
--group $2 \
1047+
--project $3
10551048
group_role_id=$(openstack --os-cloud devstack-system-admin role assignment list \
10561049
--role $1 \
10571050
--group $2 \
10581051
--project $3 \
1059-
-f value)
1060-
if [[ -z "$group_role_id" ]]; then
1061-
# Adds role to group and get it
1062-
openstack --os-cloud devstack-system-admin role add $1 \
1063-
--group $2 \
1064-
--project $3
1065-
group_role_id=$(openstack --os-cloud devstack-system-admin role assignment list \
1066-
--role $1 \
1067-
--group $2 \
1068-
--project $3 \
1069-
-f value)
1070-
fi
1052+
-f value -c Role)
1053+
10711054
echo $group_role_id
10721055
}
10731056

0 commit comments

Comments
 (0)