summaryrefslogtreecommitdiff
path: root/ceilometermiddleware
diff options
context:
space:
mode:
authorgordon chung <gord@live.ca>2015-02-02 16:01:55 -0500
committergordon chung <gord@live.ca>2015-02-03 02:38:47 +0000
commit464dbd3b23e1dac92f84919d4d0a2e3a7ee6db9d (patch)
tree7b2fc5666cbd151d6996f0971d7a11411d3c4f5e /ceilometermiddleware
parent468cedc34bef4c7316de5f148c3a99e62c103ffa (diff)
downloadceilometermiddleware-464dbd3b23e1dac92f84919d4d0a2e3a7ee6db9d.tar.gz
add options to configure messaging
swift does not use oslo.config so we should allow transport settings to be passed in via paste conf Change-Id: I686e5d94fb72fd2a00973c91673edc417142ee2f Closes-Bug: #1417306
Diffstat (limited to 'ceilometermiddleware')
-rw-r--r--ceilometermiddleware/swift.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/ceilometermiddleware/swift.py b/ceilometermiddleware/swift.py
index 5877364..7431b9b 100644
--- a/ceilometermiddleware/swift.py
+++ b/ceilometermiddleware/swift.py
@@ -22,11 +22,19 @@ In /etc/swift/proxy-server.conf on the main pipeline add "ceilometer" just
before "proxy-server" and add the following filter in the file:
.. code-block:: python
[filter:ceilometer]
- paste.filter_factory = ceilometermiddleware.swift:R
+ paste.filter_factory = ceilometermiddleware.swift:filter_factory
# Some optional configuration this allow to publish additional metadata
metadata_headers = X-TEST
# Set reseller prefix (defaults to "AUTH_" if not set)
reseller_prefix = AUTH_
+ # Set control_exchange to publish to.
+ control_exchange = swift
+ # Set transport url
+ transport_url = rabbit://me:passwd@host:5672/virtual_host
+ # set messaging driver
+ driver = messaging
+ # set topic
+ topic = notifications
"""
import functools
import logging
@@ -92,9 +100,13 @@ class Swift(object):
def __init__(self, app, conf):
self._app = app
+ oslo.messaging.set_transport_defaults(conf.get('control_exchange',
+ 'swift'))
self._notifier = oslo.messaging.Notifier(
- oslo.messaging.get_transport(cfg.CONF),
- publisher_id='ceilometermiddleware')
+ oslo.messaging.get_transport(cfg.CONF, url=conf.get('url')),
+ publisher_id='ceilometermiddleware',
+ driver=conf.get('driver', 'messaging'),
+ topic=conf.get('topic', 'notifications'))
self.metadata_headers = [h.strip().replace('-', '_').lower()
for h in conf.get(