Fix DevStack failure in multi-region setting
In stack.sh, REGION_NAME is used to set environment variable OS_REGION_NAME before using OpenStack client to configure accounts for services. OpenStack client will try to find Keystone endpoint in REGION_NAME to send the requests. However, in the case of deploying multiple DevStack instances in different regions with shared Keystone, Keystone is only running in one the of region. When installing DevStack for the region that does not host Keystone, OpenStack client will fail to find the Keystone endpoint and thus DevStack fails to start. This patch fixes this bug by introducing KEYSTONE_REGION_NAME for user to specify which region Keystone is running in. Document of multi-region setup is also updated. Change-Id: I3e82c7ff69326d4171623299ffecea103d40c80d Closes-Bug: #1540802
This commit is contained in:
parent
09a710bc2f
commit
6f1781f968
@ -630,6 +630,16 @@ In RegionTwo:
|
||||
KEYSTONE_SERVICE_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
|
||||
KEYSTONE_AUTH_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
|
||||
REGION_NAME=RegionTwo
|
||||
KEYSTONE_REGION_NAME=RegionOne
|
||||
|
||||
In the devstack for RegionOne, we set REGION_NAME as RegionOne, so region of
|
||||
the services started in this devstack are registered as RegionOne. In devstack
|
||||
for RegionTwo, similarly, we set REGION_NAME as RegionTwo since we want
|
||||
services started in this devstack to be registered in RegionTwo. But Keystone
|
||||
service is started and registered in RegionOne, not RegionTwo, so we use
|
||||
KEYSTONE_REGION_NAME to specify the region of Keystone service.
|
||||
KEYSTONE_REGION_NAME has a default value the same as REGION_NAME thus we omit
|
||||
it in the configuration of RegionOne.
|
||||
|
||||
Disabling Identity API v2
|
||||
+++++++++++++++++++++++++
|
||||
|
2
stack.sh
2
stack.sh
@ -1020,7 +1020,7 @@ export OS_USER_DOMAIN_ID=default
|
||||
export OS_PASSWORD=$ADMIN_PASSWORD
|
||||
export OS_PROJECT_NAME=admin
|
||||
export OS_PROJECT_DOMAIN_ID=default
|
||||
export OS_REGION_NAME=$REGION_NAME
|
||||
export OS_REGION_NAME=$KEYSTONE_REGION_NAME
|
||||
|
||||
EOF
|
||||
|
||||
|
6
stackrc
6
stackrc
@ -42,6 +42,12 @@ fi
|
||||
# Specify region name Region
|
||||
REGION_NAME=${REGION_NAME:-RegionOne}
|
||||
|
||||
# Specify name of region where identity service endpoint is registered.
|
||||
# When deploying multiple DevStack instances in different regions with shared
|
||||
# Keystone, set KEYSTONE_REGION_NAME to the region where Keystone is running
|
||||
# for DevStack instances which do not host Keystone.
|
||||
KEYSTONE_REGION_NAME=${KEYSTONE_REGION_NAME:-$REGION_NAME}
|
||||
|
||||
# Specify which services to launch. These generally correspond to
|
||||
# screen tabs. To change the default list, use the ``enable_service`` and
|
||||
# ``disable_service`` functions in ``local.conf``.
|
||||
|
Loading…
Reference in New Issue
Block a user