Use publicURL as default of OPENSTACK_ENDPOINT_TYPE consistently

The current default settings of openstack_dashboard OPENSTACK_ENDPOINT_TYPE
has two default values 'publicURL' and 'internalURL' and this leads to
require both endpoints in deployments.

Having two default values for one setting is confusing. The comment in
local_settings.py says OPENSTACK_ENDPOINT_TYPE defaults to publicURL
and operators does not think internalURL is used.

I believe there is no negative side because if operators want to
deploy horizon out side of their OpenStack clouds they use publicURL
and if they want to deploy horizon behind load balancer or something
they would use internalURL as OPENSTACK_ENDPOINT_TYPE.

This also help the current devstack setup which only configures
public endpoint (interface) and Horizon does not work by default
for Identity dashboard.

Closes-Bug: #1686717
Change-Id: If5c7bbc5188f6df65661c41d777a9c7846fe9008
This commit is contained in:
Akihiro Motoki 2017-04-27 13:10:54 +00:00
parent b48bf1ad8a
commit 49c6cdca92
2 changed files with 11 additions and 1 deletions

View File

@ -172,7 +172,7 @@ def keystoneclient(request, admin=False):
else:
endpoint_type = getattr(settings,
'OPENSTACK_ENDPOINT_TYPE',
'internalURL')
'publicURL')
# Take care of client connection caching/fetching a new client.
# Admin vs. non-admin clients are cached separately for token matching.

View File

@ -0,0 +1,10 @@
---
upgrade:
- |
``OPENSTACK_ENDPOINT_TYPE`` setting now has a consistent default value
and it defaults to ``publicURL``. If you use the default value,
previously (at least Ocata release) Horizon used ``internalURL`` for
keystone and ``publicURL`` for other services. The default value is
now ``publicURL``, so if you want horizon to use ``internalURL`` to
talk with back-end services, ensure to set ``OPENSTACK_ENDPOINT_TYPE``
to ``internalURL``.