Support using internal network for clients
Openstack mostly defaults to using public endpoints for internal communication between services. This patch adds a new option use-internal-endpoints which, if set to True, will configure services to use internal endpoints where possible. Closes-Bug: 1456876 Change-Id: I76129d4def671c5a5001cf15d9ff629a94a450e0
This commit is contained in:
parent
7f9597dc8e
commit
063f3a44f0
@ -1479,3 +1479,15 @@ class NetworkServiceContext(OSContextGenerator):
|
||||
if self.context_complete(ctxt):
|
||||
return ctxt
|
||||
return {}
|
||||
|
||||
|
||||
class InternalEndpointContext(OSContextGenerator):
|
||||
"""Internal endpoint context.
|
||||
|
||||
This context provides the endpoint type used for communication between
|
||||
services e.g. between Nova and Cinder internally. Openstack uses Public
|
||||
endpoints by default so this allows admins to optionally use internal
|
||||
endpoints.
|
||||
"""
|
||||
def __call__(self):
|
||||
return {'use_internal_endpoints': config('use-internal-endpoints')}
|
||||
|
@ -79,6 +79,13 @@ options:
|
||||
default: RegionOne
|
||||
type: string
|
||||
description: OpenStack Region
|
||||
use-internal-endpoints:
|
||||
default: False
|
||||
type: boolean
|
||||
description: |
|
||||
Openstack mostly defaults to using public endpoints for
|
||||
internal communication between services. If set to True this option will
|
||||
configure services to use internal endpoints where possible.
|
||||
ceph-osd-replication-count:
|
||||
default: 3
|
||||
type: int
|
||||
|
@ -174,7 +174,8 @@ CONFIG_FILES = OrderedDict([
|
||||
glance_contexts.MultiStoreContext(),
|
||||
context.OSConfigFlagContext(
|
||||
charm_flag='api-config-flags',
|
||||
template_flag='api_config_flags')],
|
||||
template_flag='api_config_flags'),
|
||||
context.InternalEndpointContext()],
|
||||
'services': ['glance-api']
|
||||
}),
|
||||
(ceph_config_file(), {
|
||||
|
@ -14,6 +14,10 @@ default_store = file
|
||||
|
||||
bind_host = {{ bind_host }}
|
||||
|
||||
{% if use_internal_endpoints -%}
|
||||
cinder_catalog_info = volumev2::internalURL
|
||||
{% endif %}
|
||||
|
||||
{% if ext -%}
|
||||
bind_port = {{ ext }}
|
||||
{% elif bind_port -%}
|
||||
|
@ -17,6 +17,10 @@ default_store = file
|
||||
|
||||
bind_host = {{ bind_host }}
|
||||
|
||||
{% if use_internal_endpoints -%}
|
||||
cinder_catalog_info = volumev2::internalURL
|
||||
{% endif %}
|
||||
|
||||
{% if ext -%}
|
||||
bind_port = {{ ext }}
|
||||
{% elif bind_port -%}
|
||||
|
@ -5,6 +5,10 @@ debug = {{ debug }}
|
||||
workers = {{ workers }}
|
||||
bind_host = {{ bind_host }}
|
||||
|
||||
{% if use_internal_endpoints -%}
|
||||
cinder_catalog_info = volumev2::internalURL
|
||||
{% endif %}
|
||||
|
||||
{% if ext -%}
|
||||
bind_port = {{ ext }}
|
||||
{% elif bind_port -%}
|
||||
|
Loading…
Reference in New Issue
Block a user