Browse code

Add a flexible API version choice for Cinder, Glance and Heat

The version of the authentication url is set to v1.0 for some
projects by default. We can make it configurable via the parameter
"$IDENTITY_API_VERSION".

Closes-Bug: #1253539
Change-Id: I6640e345d1317b1308403c95b13f8a998320241b

Vincent Hou authored on 2013/11/21 17:10:27
Showing 4 changed files
... ...
@@ -341,7 +341,7 @@ function configure_cinder() {
341 341
             -e 's/snapshot_autoextend_percent =.*/snapshot_autoextend_percent = 20/' \
342 342
             /etc/lvm/lvm.conf
343 343
     fi
344
-    iniset $CINDER_CONF keystone_authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT
344
+    configure_API_version $CINDER_CONF $IDENTITY_API_VERSION
345 345
     iniset $CINDER_CONF keystone_authtoken admin_user cinder
346 346
     iniset $CINDER_CONF keystone_authtoken admin_tenant_name $SERVICE_TENANT_NAME
347 347
     iniset $CINDER_CONF keystone_authtoken admin_password $SERVICE_PASSWORD
... ...
@@ -83,7 +83,7 @@ function configure_glance() {
83 83
     iniset $GLANCE_REGISTRY_CONF keystone_authtoken auth_port $KEYSTONE_AUTH_PORT
84 84
     iniset $GLANCE_REGISTRY_CONF keystone_authtoken auth_protocol $KEYSTONE_AUTH_PROTOCOL
85 85
     iniset $GLANCE_REGISTRY_CONF keystone_authtoken cafile $KEYSTONE_SSL_CA
86
-    iniset $GLANCE_REGISTRY_CONF keystone_authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/
86
+    configure_API_version $GLANCE_REGISTRY_CONF $IDENTITY_API_VERSION
87 87
     iniset $GLANCE_REGISTRY_CONF keystone_authtoken admin_tenant_name $SERVICE_TENANT_NAME
88 88
     iniset $GLANCE_REGISTRY_CONF keystone_authtoken admin_user glance
89 89
     iniset $GLANCE_REGISTRY_CONF keystone_authtoken admin_password $SERVICE_PASSWORD
... ...
@@ -101,7 +101,7 @@ function configure_glance() {
101 101
     iniset $GLANCE_API_CONF keystone_authtoken auth_port $KEYSTONE_AUTH_PORT
102 102
     iniset $GLANCE_API_CONF keystone_authtoken auth_protocol $KEYSTONE_AUTH_PROTOCOL
103 103
     iniset $GLANCE_API_CONF keystone_authtoken cafile $KEYSTONE_SSL_CA
104
-    iniset $GLANCE_API_CONF keystone_authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/
104
+    configure_API_version $GLANCE_API_CONF $IDENTITY_API_VERSION
105 105
     iniset $GLANCE_API_CONF keystone_authtoken admin_tenant_name $SERVICE_TENANT_NAME
106 106
     iniset $GLANCE_API_CONF keystone_authtoken admin_user glance
107 107
     iniset $GLANCE_API_CONF keystone_authtoken admin_password $SERVICE_PASSWORD
... ...
@@ -95,7 +95,7 @@ function configure_heat() {
95 95
     iniset $HEAT_CONF keystone_authtoken auth_host $KEYSTONE_AUTH_HOST
96 96
     iniset $HEAT_CONF keystone_authtoken auth_port $KEYSTONE_AUTH_PORT
97 97
     iniset $HEAT_CONF keystone_authtoken auth_protocol $KEYSTONE_AUTH_PROTOCOL
98
-    iniset $HEAT_CONF keystone_authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
98
+    configure_API_version $HEAT_CONF $IDENTITY_API_VERSION
99 99
     iniset $HEAT_CONF keystone_authtoken cafile $KEYSTONE_SSL_CA
100 100
     iniset $HEAT_CONF keystone_authtoken admin_tenant_name $SERVICE_TENANT_NAME
101 101
     iniset $HEAT_CONF keystone_authtoken admin_user heat
... ...
@@ -335,6 +335,14 @@ create_keystone_accounts() {
335 335
     fi
336 336
 }
337 337
 
338
+# Configure the API version for the OpenStack projects.
339
+# configure_API_version conf_file version
340
+function configure_API_version() {
341
+    local conf_file=$1
342
+    local api_version=$2
343
+    iniset $conf_file keystone_authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v$api_version
344
+}
345
+
338 346
 # init_keystone() - Initialize databases, etc.
339 347
 function init_keystone() {
340 348
     if is_service_enabled ldap; then