When the property ENABLE_IDENTITY_V2 is set to
False in the local.conf file, devstack will:
* Disable the v2 API in Keystone paste config;
* Set Tempest to skip Identity v2 tests and use
v3 auth tokens to run all the other tests;
* Set Horizon to use v3 API and v3 auth tokens;
* Register the Identity endpoint as v3.
Change-Id: I2575a516244b848e5ed461e7f488c59edc41068d
| ... | ... |
@@ -97,7 +97,14 @@ function init_horizon {
|
| 97 | 97 |
_horizon_config_set $local_settings "" OPENSTACK_KEYSTONE_DEFAULT_ROLE \"Member\" |
| 98 | 98 |
|
| 99 | 99 |
_horizon_config_set $local_settings "" OPENSTACK_HOST \"${KEYSTONE_SERVICE_HOST}\"
|
| 100 |
- _horizon_config_set $local_settings "" OPENSTACK_KEYSTONE_URL "\"${KEYSTONE_SERVICE_PROTOCOL}://${KEYSTONE_SERVICE_HOST}:${KEYSTONE_SERVICE_PORT}/v2.0\""
|
|
| 100 |
+ |
|
| 101 |
+ if [ "$ENABLE_IDENTITY_V2" == "False" ]; then |
|
| 102 |
+ # Only Identity v3 API is available; then use it with v3 auth tokens |
|
| 103 |
+ _horizon_config_set $local_settings "" OPENSTACK_API_VERSIONS {\"identity\":\"v3\"}
|
|
| 104 |
+ _horizon_config_set $local_settings "" OPENSTACK_KEYSTONE_URL "\"${KEYSTONE_SERVICE_PROTOCOL}://${KEYSTONE_SERVICE_HOST}:${KEYSTONE_SERVICE_PORT}/v3\""
|
|
| 105 |
+ else |
|
| 106 |
+ _horizon_config_set $local_settings "" OPENSTACK_KEYSTONE_URL "\"${KEYSTONE_SERVICE_PROTOCOL}://${KEYSTONE_SERVICE_HOST}:${KEYSTONE_SERVICE_PORT}/v2.0\""
|
|
| 107 |
+ fi |
|
| 101 | 108 |
|
| 102 | 109 |
if [ -f $SSL_BUNDLE_FILE ]; then |
| 103 | 110 |
_horizon_config_set $local_settings "" OPENSTACK_SSL_CACERT \"${SSL_BUNDLE_FILE}\"
|
| ... | ... |
@@ -204,6 +204,12 @@ function configure_keystone {
|
| 204 | 204 |
KEYSTONE_PASTE_INI="$KEYSTONE_CONF" |
| 205 | 205 |
fi |
| 206 | 206 |
|
| 207 |
+ if [ "$ENABLE_IDENTITY_V2" == "False" ]; then |
|
| 208 |
+ # Only Identity v3 API should be available; then disable v2 pipelines |
|
| 209 |
+ inidelete $KEYSTONE_PASTE_INI composite:main \\/v2.0 |
|
| 210 |
+ inidelete $KEYSTONE_PASTE_INI composite:admin \\/v2.0 |
|
| 211 |
+ fi |
|
| 212 |
+ |
|
| 207 | 213 |
configure_keystone_extensions |
| 208 | 214 |
|
| 209 | 215 |
# Rewrite stock ``keystone.conf`` |
| ... | ... |
@@ -311,7 +311,15 @@ function configure_tempest {
|
| 311 | 311 |
iniset $TEMPEST_CONFIG identity admin_tenant_id $ADMIN_TENANT_ID |
| 312 | 312 |
iniset $TEMPEST_CONFIG identity admin_domain_name $ADMIN_DOMAIN_NAME |
| 313 | 313 |
fi |
| 314 |
- iniset $TEMPEST_CONFIG identity auth_version ${TEMPEST_AUTH_VERSION:-v2}
|
|
| 314 |
+ if [ "$ENABLE_IDENTITY_V2" == "False" ]; then |
|
| 315 |
+ # Only Identity v3 is available; then skip Identity API v2 tests |
|
| 316 |
+ iniset $TEMPEST_CONFIG identity-feature-enabled v2_api False |
|
| 317 |
+ # In addition, use v3 auth tokens for running all Tempest tests |
|
| 318 |
+ iniset $TEMPEST_CONFIG identity auth_version v3 |
|
| 319 |
+ else |
|
| 320 |
+ iniset $TEMPEST_CONFIG identity auth_version ${TEMPEST_AUTH_VERSION:-v2}
|
|
| 321 |
+ fi |
|
| 322 |
+ |
|
| 315 | 323 |
if is_ssl_enabled_service "key" || is_service_enabled tls-proxy; then |
| 316 | 324 |
iniset $TEMPEST_CONFIG identity ca_certificates_file $SSL_BUNDLE_FILE |
| 317 | 325 |
fi |
| ... | ... |
@@ -87,9 +87,6 @@ TEMPEST_SERVICES="" |
| 87 | 87 |
# Set the default Nova APIs to enable |
| 88 | 88 |
NOVA_ENABLED_APIS=ec2,osapi_compute,metadata |
| 89 | 89 |
|
| 90 |
-# Configure Identity API version: 2.0, 3 |
|
| 91 |
-IDENTITY_API_VERSION=2.0 |
|
| 92 |
- |
|
| 93 | 90 |
# Whether to use 'dev mode' for screen windows. Dev mode works by |
| 94 | 91 |
# stuffing text into the screen windows so that a developer can use |
| 95 | 92 |
# ctrl-c, up-arrow, enter to restart the service. Starting services |
| ... | ... |
@@ -106,6 +103,22 @@ elif [[ -f $RC_DIR/.localrc.auto ]]; then |
| 106 | 106 |
source $RC_DIR/.localrc.auto |
| 107 | 107 |
fi |
| 108 | 108 |
|
| 109 |
+# Configure Identity API version: 2.0, 3 |
|
| 110 |
+IDENTITY_API_VERSION=${IDENTITY_API_VERSION:-2.0}
|
|
| 111 |
+ |
|
| 112 |
+# Set the option ENABLE_IDENTITY_V2 to True. It defines whether the DevStack |
|
| 113 |
+# deployment will be deploying the Identity v2 pipelines. If this option is set |
|
| 114 |
+# to ``False``, DevStack will: i) disable Identity v2; ii) configure Tempest to |
|
| 115 |
+# skip Identity v2 specific tests; and iii) configure Horizon to use Identity |
|
| 116 |
+# v3. When this option is set to ``False``, the option IDENTITY_API_VERSION |
|
| 117 |
+# will to be set to ``3`` in order to make DevStack register the Identity |
|
| 118 |
+# endpoint as v3. This flag is experimental and will be used as basis to |
|
| 119 |
+# identify the projects which still have issues to operate with Identity v3. |
|
| 120 |
+ENABLE_IDENTITY_V2=$(trueorfalse True ENABLE_IDENTITY_V2) |
|
| 121 |
+if [ "$ENABLE_IDENTITY_V2" == "False" ]; then |
|
| 122 |
+ IDENTITY_API_VERSION=3 |
|
| 123 |
+fi |
|
| 124 |
+ |
|
| 109 | 125 |
# Enable use of Python virtual environments. Individual project use of |
| 110 | 126 |
# venvs are controlled by the PROJECT_VENV array; every project with |
| 111 | 127 |
# an entry in the array will be installed into the named venv. |