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
| ... | ... |
@@ -122,6 +122,15 @@ function get_transport_url {
|
| 122 | 122 |
fi |
| 123 | 123 |
} |
| 124 | 124 |
|
| 125 |
+# Repeat the definition, in case get_transport_url is overriden for RPC purpose. |
|
| 126 |
+# get_notification_url can then be used to talk to rabbit for notifications. |
|
| 127 |
+function get_notification_url {
|
|
| 128 |
+ local virtual_host=$1 |
|
| 129 |
+ if is_service_enabled rabbit || { [ -n "$RABBIT_HOST" ] && [ -n "$RABBIT_PASSWORD" ]; }; then
|
|
| 130 |
+ echo "rabbit://$RABBIT_USERID:$RABBIT_PASSWORD@$RABBIT_HOST:5672/$virtual_host" |
|
| 131 |
+ fi |
|
| 132 |
+} |
|
| 133 |
+ |
|
| 125 | 134 |
# iniset configuration |
| 126 | 135 |
function iniset_rpc_backend {
|
| 127 | 136 |
local package=$1 |
| ... | ... |
@@ -419,7 +419,7 @@ function configure_swift {
|
| 419 | 419 |
iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer "set log_level" "WARN"
|
| 420 | 420 |
iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer paste.filter_factory "ceilometermiddleware.swift:filter_factory"
|
| 421 | 421 |
iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer control_exchange "swift"
|
| 422 |
- iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer url $(get_transport_url)
|
|
| 422 |
+ iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer url $(get_notification_url)
|
|
| 423 | 423 |
iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer driver "messaging"
|
| 424 | 424 |
iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer topic "notifications"
|
| 425 | 425 |
SWIFT_EXTRAS_MIDDLEWARE_LAST="${SWIFT_EXTRAS_MIDDLEWARE_LAST} ceilometer"
|