adminPasswd=$(juju config keystone | grep admin-password -A 5 | grep value | awk '{print $2}' 2> /dev/null)
fi
- configOpenrc admin $adminPasswd admin http://$keystoneIp:5000/v3 RegionOne > ~/joid_config/admin-openrc
+ v3api=`juju config keystone preferred-api-version`
+
+ if [[ "$v3api" == "3" ]]; then
+ configOpenrc admin $adminPasswd admin http://$keystoneIp:5000/v3 RegionOne publicURL > ~/joid_config/admin-openrc
+ chmod 0600 ~/joid_config/admin-openrc
+ source ~/joid_config/admin-openrc
+ projectid=`openstack project show admin -c id -f value`
+ configOpenrc admin $adminPasswd admin http://$keystoneIp:5000/v3 RegionOne internalURL $projectid > ~/joid_config/admin-openrc
+ configOpenrc admin $adminPasswd admin http://$keystoneIp:5000/v3 RegionOne publicURL $projectid > ~/joid_config/admin-openrcpublic
+ else
+ configOpenrc2 admin $adminPasswd admin http://$keystoneIp:5000/v2.0 RegionOne > ~/joid_config/admin-openrc
+ chmod 0600 ~/joid_config/admin-openrc
+ fi
+}
- chmod 0600 ~/joid_config/admin-openrc
+configOpenrc2() {
+cat <<-EOF
+export SERVICE_ENDPOINT=$4
+unset SERVICE_TOKEN
+unset SERVICE_ENDPOINT
+export OS_USERNAME=$1
+export OS_PASSWORD=$2
+export OS_TENANT_NAME=$3
+export OS_AUTH_URL=$4
+export OS_REGION_NAME=$5
+EOF
}
configOpenrc() {
cat <<-EOF
-export OS_AUTH_URL=$4
+export OS_NO_CACHE='true'
+export OS_TENANT_NAME=$3
+#export OS_TENANT_ID=$7
+export OS_PROJECT_NAME=$3
export OS_USERNAME=$1
export OS_PASSWORD=$2
+export OS_IDENTITY_API_VERSION=3
+export OS_DEFAULT_DOMAIN=admin_domain
export OS_USER_DOMAIN_NAME=admin_domain
export OS_PROJECT_DOMAIN_NAME=admin_domain
-export OS_PROJECT_NAME=$3
-export OS_TENANT_NAME=$3
+export OS_AUTH_STRATEGY='keystone'
export OS_REGION_NAME=$5
-export OS_IDENTITY_API_VERSION=3
-# Swift needs this:
-export OS_AUTH_VERSION=3
+export CINDER_ENDPOINT_TYPE=$6
+export GLANCE_ENDPOINT_TYPE=$6
+export KEYSTONE_ENDPOINT_TYPE=$6
+export NOVA_ENDPOINT_TYPE=$6
+export NEUTRON_ENDPOINT_TYPE=$6
+export OS_ENDPOINT_TYPE=$6
+#export OS_INTERFACE=public
+export OS_AUTH_URL=$4
EOF
}