Browse code

Include domain variables in accrc

Include the user and project domain parameters in the generated user rc files.
This is fairly simplistic, if we were to follow the existing attitudes we
should iterate over the domains and add a new level of folders however this
would change the output location for files that may be depended upon.

Change-Id: I5e9e78406b11382751a591d91f711161bb98f47a

Jamie Lennox authored on 2015/06/22 13:07:18
Showing 1 changed files
... ...
@@ -42,6 +42,10 @@ Optional Arguments
42 42
 --os-password <admin password>
43 43
 --os-project-name <project_name>
44 44
 --os-project-id <project_id>
45
+--os-user-domain-id <user_domain_id>
46
+--os-user-domain-name <user_domain_name>
47
+--os-project-domain-id <project_domain_id>
48
+--os-project-domain-name <project_domain_name>
45 49
 --os-auth-url <auth_url>
46 50
 --os-cacert <cert file>
47 51
 --target-dir <target_directory>
... ...
@@ -54,7 +58,7 @@ $0 -P -C myproject -u myuser -p mypass
54 54
 EOF
55 55
 }
56 56
 
57
-if ! options=$(getopt -o hPAp:u:r:C: -l os-username:,os-password:,os-tenant-id:,os-tenant-name:,os-project-name:,os-project-id:,os-auth-url:,target-dir:,heat-url:,skip-project:,os-cacert:,help,debug -- "$@"); then
57
+if ! options=$(getopt -o hPAp:u:r:C: -l os-username:,os-password:,os-tenant-id:,os-tenant-name:,os-project-name:,os-project-id:,os-project-domain-id:,os-project-domain-name:,os-user-domain-id:,os-user-domain-name:,os-auth-url:,target-dir:,heat-url:,skip-project:,os-cacert:,help,debug -- "$@"); then
58 58
     display_help
59 59
     exit 1
60 60
 fi
... ...
@@ -79,6 +83,10 @@ while [ $# -gt 0 ]; do
79 79
     --os-tenant-id) export OS_PROJECT_ID=$2; shift ;;
80 80
     --os-project-name) export OS_PROJECT_NAME=$2; shift ;;
81 81
     --os-project-id) export OS_PROJECT_ID=$2; shift ;;
82
+    --os-user-domain-id) export OS_USER_DOMAIN_ID=$2; shift ;;
83
+    --os-user-domain-name) export OS_USER_DOMAIN_NAME=$2; shift ;;
84
+    --os-project-domain-id) export OS_PROJECT_DOMAIN_ID=$2; shift ;;
85
+    --os-project-domain-name) export OS_PROJECT_DOMAIN_NAME=$2; shift ;;
82 86
     --skip-tenant) SKIP_PROJECT="$SKIP_PROJECT$2,"; shift ;;
83 87
     --skip-project) SKIP_PROJECT="$SKIP_PROJECT$2,"; shift ;;
84 88
     --os-auth-url) export OS_AUTH_URL=$2; shift ;;
... ...
@@ -128,6 +136,16 @@ if [ -z "$OS_AUTH_URL" ]; then
128 128
     export OS_AUTH_URL=http://localhost:5000/v2.0/
129 129
 fi
130 130
 
131
+if [ -z "$OS_USER_DOMAIN_ID" -a -z "$OS_USER_DOMAIN_NAME" ]; then
132
+    # purposefully not exported as it would force v3 auth within this file.
133
+    OS_USER_DOMAIN_ID=default
134
+fi
135
+
136
+if [ -z "$OS_PROJECT_DOMAIN_ID" -a -z "$OS_PROJECT_DOMAIN_NAME" ]; then
137
+    # purposefully not exported as it would force v3 auth within this file.
138
+    OS_PROJECT_DOMAIN_ID=default
139
+fi
140
+
131 141
 USER_PASS=${USER_PASS:-$OS_PASSWORD}
132 142
 USER_NAME=${USER_NAME:-$OS_USERNAME}
133 143
 
... ...
@@ -219,6 +237,7 @@ export EC2_PRIVATE_KEY="$ec2_private_key"
219 219
 export EC2_USER_ID=42 #not checked by nova (can be a 12-digit id)
220 220
 export EUCALYPTUS_CERT="$ACCOUNT_DIR/cacert.pem"
221 221
 export NOVA_CERT="$ACCOUNT_DIR/cacert.pem"
222
+export OS_AUTH_TYPE=v2password
222 223
 EOF
223 224
     if [ -n "$ADDPASS" ]; then
224 225
         echo "export OS_PASSWORD=\"$user_passwd\"" >>"$rcfile"
... ...
@@ -227,6 +246,13 @@ EOF
227 227
         echo "export HEAT_URL=\"$HEAT_URL/$project_id\"" >>"$rcfile"
228 228
         echo "export OS_NO_CLIENT_AUTH=True" >>"$rcfile"
229 229
     fi
230
+    for v in OS_USER_DOMAIN_ID OS_USER_DOMAIN_NAME OS_PROJECT_DOMAIN_ID OS_PROJECT_DOMAIN_NAME; do
231
+        if [ ${!v} ]; then
232
+            echo "export $v=${!v}" >>"$rcfile"
233
+        else
234
+            echo "unset $v" >>"$rcfile"
235
+        fi
236
+    done
230 237
 }
231 238
 
232 239
 #admin users expected