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.

Change-Id: I170e5e1eef3d2e3bb28d37606a468328005609d0
Closes-Bug: 1456876
This commit is contained in:
Edward Hope-Morley 2016-03-31 20:12:40 +01:00 committed by James Page
parent 236a35952f
commit 959d6e7f12
4 changed files with 19 additions and 27 deletions

View File

@ -50,3 +50,10 @@ options:
wait for you to execute the openstack-upgrade action for this charm on
each unit. If False it will revert to existing behavior of upgrading
all units on config change.
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.

View File

@ -1,8 +1,9 @@
from charmhelpers.contrib.openstack import (
context,
templating,
)
from ceilometer_contexts import (
CeilometerServiceContext
CeilometerServiceContext,
)
from charmhelpers.contrib.openstack.utils import (
get_os_codename_package,
@ -51,7 +52,8 @@ NOVA_SETTINGS = {
CONFIG_FILES = {
CEILOMETER_CONF: {
'hook_contexts': [
CeilometerServiceContext(ssl_dir=CEILOMETER_CONF_DIR)],
CeilometerServiceContext(ssl_dir=CEILOMETER_CONF_DIR),
context.InternalEndpointContext()],
'services': CEILOMETER_AGENT_SERVICES
}
}

View File

@ -1,23 +0,0 @@
# grizzly
###############################################################################
# [ WARNING ]
# ceilometer configuration file maintained by Juju
# local changes may be overwritten.
###############################################################################
[DEFAULT]
debug = {{ debug }}
verbose = {{ verbose }}
{% if metering_secret -%}
metering_secret = {{ metering_secret }}
{% endif -%}
{% include "parts/rabbitmq" %}
{% if auth_host -%}
os_auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}/v2.0
os_tenant_name = {{ admin_tenant_name }}
os_username = {{ admin_user }}
os_password = {{ admin_password }}
{% endif -%}
logdir = /var/log/ceilometer
# NOTE(jamespage) this allows the db sync process to run OK for upgrades
# fixed in icehouse
database_connection=sqlite:////var/lib/ceilometer/ceilometer.sqlite

View File

@ -1,4 +1,4 @@
# havana
# icehouse
###############################################################################
# [ WARNING ]
# ceilometer configuration file maintained by Juju
@ -7,8 +7,12 @@
[DEFAULT]
debug = {{ debug }}
verbose = {{ verbose }}
{% include "parts/rabbitmq" %}
logdir = /var/log/ceilometer
{% include "parts/rabbitmq" %}
{% if use_internal_endpoints -%}
interface = internal
{% endif -%}
{% if auth_host -%}
[service_credentials]
os_auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}/v2.0
@ -16,10 +20,12 @@ os_tenant_name = {{ admin_tenant_name }}
os_username = {{ admin_user }}
os_password = {{ admin_password }}
{% endif -%}
{% if metering_secret -%}
[publisher_rpc]
metering_secret = {{ metering_secret }}
{% endif -%}
[database]
# NOTE(jamespage) this allows the db sync process to run OK for upgrades
# fixed in icehouse