From 26e431dbd76dff958f65871c852eb9d61d8d00d8 Mon Sep 17 00:00:00 2001 From: Thomas Herve Date: Thu, 13 Apr 2017 14:27:35 +0200 Subject: [PATCH] Define a new function for notifications URL This defines a new function get_notification_url, which returns the URL of RabbitMQ when you want connect to it, and uses in ceilometermiddleware. This fixes an issue when we try to use AMQP for RPC, but not for notifications. Change-Id: I14450b2440806a17a90e5ddefc243868fdbe4f2c --- lib/rpc_backend | 9 +++++++++ lib/swift | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/rpc_backend b/lib/rpc_backend index 3c1404e998..3177e88ef2 100644 --- a/lib/rpc_backend +++ b/lib/rpc_backend @@ -122,6 +122,15 @@ function get_transport_url { fi } +# Repeat the definition, in case get_transport_url is overriden for RPC purpose. +# get_notification_url can then be used to talk to rabbit for notifications. +function get_notification_url { + local virtual_host=$1 + if is_service_enabled rabbit || { [ -n "$RABBIT_HOST" ] && [ -n "$RABBIT_PASSWORD" ]; }; then + echo "rabbit://$RABBIT_USERID:$RABBIT_PASSWORD@$RABBIT_HOST:5672/$virtual_host" + fi +} + # iniset configuration function iniset_rpc_backend { local package=$1 diff --git a/lib/swift b/lib/swift index 96e2f03e5f..f3ff2412bd 100644 --- a/lib/swift +++ b/lib/swift @@ -419,7 +419,7 @@ function configure_swift { iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer "set log_level" "WARN" iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer paste.filter_factory "ceilometermiddleware.swift:filter_factory" iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer control_exchange "swift" - iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer url $(get_transport_url) + iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer url $(get_notification_url) iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer driver "messaging" iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer topic "notifications" SWIFT_EXTRAS_MIDDLEWARE_LAST="${SWIFT_EXTRAS_MIDDLEWARE_LAST} ceilometer"