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 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 each unit. If False it will revert to existing behavior of upgrading
all units on config change. 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 ( from charmhelpers.contrib.openstack import (
context,
templating, templating,
) )
from ceilometer_contexts import ( from ceilometer_contexts import (
CeilometerServiceContext CeilometerServiceContext,
) )
from charmhelpers.contrib.openstack.utils import ( from charmhelpers.contrib.openstack.utils import (
get_os_codename_package, get_os_codename_package,
@@ -51,7 +52,8 @@ NOVA_SETTINGS = {
CONFIG_FILES = { CONFIG_FILES = {
CEILOMETER_CONF: { CEILOMETER_CONF: {
'hook_contexts': [ 'hook_contexts': [
CeilometerServiceContext(ssl_dir=CEILOMETER_CONF_DIR)], CeilometerServiceContext(ssl_dir=CEILOMETER_CONF_DIR),
context.InternalEndpointContext()],
'services': CEILOMETER_AGENT_SERVICES '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 ] # [ WARNING ]
# ceilometer configuration file maintained by Juju # ceilometer configuration file maintained by Juju
@@ -7,8 +7,12 @@
[DEFAULT] [DEFAULT]
debug = {{ debug }} debug = {{ debug }}
verbose = {{ verbose }} verbose = {{ verbose }}
{% include "parts/rabbitmq" %}
logdir = /var/log/ceilometer logdir = /var/log/ceilometer
{% include "parts/rabbitmq" %}
{% if use_internal_endpoints -%}
interface = internal
{% endif -%}
{% if auth_host -%} {% if auth_host -%}
[service_credentials] [service_credentials]
os_auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}/v2.0 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_username = {{ admin_user }}
os_password = {{ admin_password }} os_password = {{ admin_password }}
{% endif -%} {% endif -%}
{% if metering_secret -%} {% if metering_secret -%}
[publisher_rpc] [publisher_rpc]
metering_secret = {{ metering_secret }} metering_secret = {{ metering_secret }}
{% endif -%} {% endif -%}
[database] [database]
# NOTE(jamespage) this allows the db sync process to run OK for upgrades # NOTE(jamespage) this allows the db sync process to run OK for upgrades
# fixed in icehouse # fixed in icehouse