diff --git a/lib/keystone b/lib/keystone index 2edd137dbb..26b7ed638a 100644 --- a/lib/keystone +++ b/lib/keystone @@ -3,11 +3,12 @@ # Dependencies: # ``functions`` file +# ``DEST``, ``STACK_USER`` +# ``IDENTITY_API_VERSION`` # ``BASE_SQL_CONN`` # ``SERVICE_HOST``, ``SERVICE_PROTOCOL`` # ``SERVICE_TOKEN`` # ``S3_SERVICE_PORT`` (template backend only) -# ``STACK_USER`` # ``stack.sh`` calls the entry points in this order: # @@ -249,9 +250,9 @@ create_keystone_accounts() { keystone endpoint-create \ --region RegionOne \ --service_id $KEYSTONE_SERVICE \ - --publicurl "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0" \ - --adminurl "$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v2.0" \ - --internalurl "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0" + --publicurl "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v$IDENTITY_API_VERSION" \ + --adminurl "$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v$IDENTITY_API_VERSION" \ + --internalurl "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v$IDENTITY_API_VERSION" fi } @@ -302,7 +303,7 @@ function start_keystone() { # Start Keystone in a screen window screen_it key "cd $KEYSTONE_DIR && $KEYSTONE_DIR/bin/keystone-all --config-file $KEYSTONE_CONF $KEYSTONE_LOG_CONFIG -d --debug" echo "Waiting for keystone to start..." - if ! timeout $SERVICE_TIMEOUT sh -c "while ! http_proxy= curl -s http://$SERVICE_HOST:$service_port/v2.0/ >/dev/null; do sleep 1; done"; then + if ! timeout $SERVICE_TIMEOUT sh -c "while ! http_proxy= curl -s http://$SERVICE_HOST:$service_port/v$IDENTITY_API_VERSION/ >/dev/null; do sleep 1; done"; then die $LINENO "keystone did not start" fi diff --git a/openrc b/openrc index f1026a50a4..1321ce7d9f 100644 --- a/openrc +++ b/openrc @@ -75,6 +75,9 @@ export OS_AUTH_URL=$SERVICE_PROTOCOL://$SERVICE_HOST:5000/v2.0 # Set the pointer to our CA certificate chain. Harmless if TLS is not used. export OS_CACERT=$INT_CA_DIR/ca-chain.pem +# Identity API version +export OS_IDENTITY_API_VERSION=${IDENTITY_API_VERSION:-2.0} + # Currently novaclient needs you to specify the *compute api* version. This # needs to match the config of your catalog returned by Keystone. export NOVA_VERSION=${NOVA_VERSION:-1.1} diff --git a/stackrc b/stackrc index 49cf0266ad..b998def67b 100644 --- a/stackrc +++ b/stackrc @@ -37,6 +37,9 @@ ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-s # Set the default Nova APIs to enable NOVA_ENABLED_APIS=ec2,osapi_compute,metadata +# Configure Identity API version: 2.0, 3 +IDENTITY_API_VERSION=2.0 + # Whether to use 'dev mode' for screen windows. Dev mode works by # stuffing text into the screen windows so that a developer can use # ctrl-c, up-arrow, enter to restart the service. Starting services