Merge "Fix pip warnings"
[joid.git] / ci / openstack.sh
index 24d068f..9d9ca49 100755 (executable)
@@ -92,24 +92,56 @@ create_openrc() {
         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
 }