Neutron-dynamic-routing support for SSL rabbitmq

The charm was failing to setup enough SSL configuration to communicate
with rabbitmq when rabbitmq uses SSL. This led to Bug:#1807233.

The change and its dependencies guarantees the charm will setup all the
configuration and certificates required for communication with rabbitmq
and SSL.

Depends-On: I6bb56a59cd65310d644aa25ae203996b22ec4b4e
Change-Id: Id78aba7766e045003ad5661ca31d6a6de57d704a
Closes-Bug: #1807233
This commit is contained in:
David Ames 2018-12-06 11:36:09 -08:00
parent 4ba3849234
commit f17e32ea25
4 changed files with 19 additions and 3 deletions

View File

@ -78,6 +78,14 @@ def assess_status():
DRAgentCharm.singleton.assess_status()
def configure_ssl():
"""Setup SSL communications calling DRAgentCharm.singleton.configure_ssl()
:returns: None
"""
DRAgentCharm.singleton.configure_ssl()
def upgrade_if_available(interfaces_list):
"""Just call the DRAgentCharm.singleton.upgrade_if_available() command to
update OpenStack package if upgrade is available

View File

@ -56,6 +56,11 @@ def setup_amqp_req(amqp):
dragent.assess_status()
@reactive.when('amqp.available.ssl')
def configure_ssl(amqp):
dragent.configure_ssl()
@reactive.when('amqp.available')
def render_configs(*args):
"""Render the configuration for dynamic routing when all the interfaces are

View File

@ -6,9 +6,11 @@
verbose = {{ options.verbose }}
debug = {{ options.debug }}
{% if amqp.transport_url -%}
transport_url = {{ amqp.transport_url }}
{% endif -%}
# Transport URL must be in the [DEFAULT] section
{% include "parts/section-transport-url" %}
# End of [DEFAULT] section
{% include "parts/section-oslo-messaging-rabbit" %}
[agent]
root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf

View File

@ -105,6 +105,7 @@ class TestDRAgentHandlers(unittest.TestCase):
'publish_bgp_info': ('endpoint.bgp-speaker.changed',),
'setup_amqp_req': ('amqp.connected', ),
'render_configs': ('amqp.available', ),
'configure_ssl': ('amqp.available.ssl', ),
}
when_not_patterns = {}
# check the when hooks are attached to the expected functions