Browse code

Merge "Assign admin role for admin user on default domain"

Jenkins authored on 2016/01/09 16:49:34
Showing 2 changed files
... ...
@@ -896,6 +896,38 @@ function get_or_add_user_domain_role {
896 896
     echo $user_role_id
897 897
 }
898 898
 
899
+# Gets or adds user role to domain
900
+# Usage: get_or_add_user_domain_role <role> <user> <domain>
901
+function get_or_add_user_domain_role {
902
+    local user_role_id
903
+    # Gets user role id
904
+    user_role_id=$(openstack role list \
905
+        --user $2 \
906
+        --os-url=$KEYSTONE_SERVICE_URI_V3 \
907
+        --os-identity-api-version=3 \
908
+        --column "ID" \
909
+        --domain $3 \
910
+        --column "Name" \
911
+        | grep " $1 " | get_field 1)
912
+    if [[ -z "$user_role_id" ]]; then
913
+        # Adds role to user and get it
914
+        openstack role add $1 \
915
+            --user $2 \
916
+            --domain $3 \
917
+            --os-url=$KEYSTONE_SERVICE_URI_V3 \
918
+            --os-identity-api-version=3
919
+        user_role_id=$(openstack role list \
920
+            --user $2 \
921
+            --os-url=$KEYSTONE_SERVICE_URI_V3 \
922
+            --os-identity-api-version=3 \
923
+            --column "ID" \
924
+            --domain $3 \
925
+            --column "Name" \
926
+            | grep " $1 " | get_field 1)
927
+    fi
928
+    echo $user_role_id
929
+}
930
+
899 931
 # Gets or adds group role to project
900 932
 # Usage: get_or_add_group_project_role <role> <group> <project>
901 933
 function get_or_add_group_project_role {
... ...
@@ -332,6 +332,7 @@ function create_keystone_accounts {
332 332
     local admin_role
333 333
     admin_role=$(get_or_create_role "admin")
334 334
     get_or_add_user_project_role $admin_role $admin_user $admin_tenant
335
+    get_or_add_user_domain_role $admin_role $admin_user default
335 336
 
336 337
     # Create service project/role
337 338
     get_or_create_project "$SERVICE_TENANT_NAME" default