Browse code

Use --or-show for get_or_create_user/project/role function

Exploit the --or-show functionality of openstackclient,
rather than issuing two different commands at the shell level,
let the CLI handle things.

Change-Id: I1db239fd3473eb580def1c5fb28ce472a1363569

Steve Martinelli authored on 2014/11/14 16:17:22
Showing 1 changed files
... ...
@@ -831,15 +831,14 @@ function get_or_create_user {
831 831
     fi
832 832
     # Gets user id
833 833
     local user_id=$(
834
-        # Gets user id
835
-        $os_cmd user show $1 $domain -f value -c id 2>/dev/null ||
836
-        # Creates new user
834
+        # Creates new user with --or-show
837 835
         $os_cmd user create \
838 836
             $1 \
839 837
             --password "$2" \
840 838
             --project $3 \
841 839
             $email \
842 840
             $domain \
841
+            --or-show \
843 842
             -f value -c id
844 843
     )
845 844
     echo $user_id
... ...
@@ -856,10 +855,8 @@ function get_or_create_project {
856 856
         os_cmd="$os_cmd --os-url=$KEYSTONE_SERVICE_URI/v3 --os-identity-api-version=3"
857 857
     fi
858 858
     local project_id=$(
859
-        # Gets project id
860
-        $os_cmd project show $1 $domain -f value -c id 2>/dev/null ||
861
-        # Creates new project if not exists
862
-        $os_cmd project create $1 $domain -f value -c id
859
+        # Creates new project with --or-show
860
+        $os_cmd project create $1 $domain --or-show -f value -c id
863 861
     )
864 862
     echo $project_id
865 863
 }
... ...
@@ -868,10 +865,8 @@ function get_or_create_project {
868 868
 # Usage: get_or_create_role <name>
869 869
 function get_or_create_role {
870 870
     local role_id=$(
871
-        # Gets role id
872
-        openstack role show $1 -f value -c id 2>/dev/null ||
873
-        # Creates role if not exists
874
-        openstack role create $1 -f value -c id
871
+        # Creates role with --or-show
872
+        openstack role create $1 --or-show -f value -c id
875 873
     )
876 874
     echo $role_id
877 875
 }