From 2ad89a07979a01b177869ffc25d9c9702d63607b Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Mon, 25 Dec 2023 20:22:42 +0900 Subject: [PATCH] Load additional config files for oslo.messaging options Currently ceilometermiddleware supports customizing only the limited number of oslo.messaging options via proxy-server.conf. However this does not allow configurations required by some setups. For example when TLS is enabled in RabbitMQ, the ssl option in RabbitMQ driver but this option is not configurable now. This introduces a few new options so that ceilometermiddleware can load additional config files to look up oslo.messaging options. Closes-Bug: #1673738 Change-Id: I0cae1a0daec189669e51f89231a3d7932784420e --- ceilometermiddleware/swift.py | 14 +++++++++++++- .../notes/bug-1673738-ec8f7dd8ac43ad54.yaml | 7 +++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/bug-1673738-ec8f7dd8ac43ad54.yaml diff --git a/ceilometermiddleware/swift.py b/ceilometermiddleware/swift.py index 04c09f4..d3f8401 100644 --- a/ceilometermiddleware/swift.py +++ b/ceilometermiddleware/swift.py @@ -77,6 +77,7 @@ import queue import threading import urllib.parse as urlparse +CONF = cfg.CONF LOG = logging.getLogger(__name__) @@ -160,10 +161,21 @@ class Swift(object): self.ignore_projects = self._get_ignore_projects(conf) + extra_config_files = conf.get('extra_config_files') + if extra_config_files is not None: + extra_config_files = list_from_csv(extra_config_files) + + extra_config_dirs = conf.get('extra_config_dirs') + if extra_config_dirs is not None: + extra_config_dirs = list_from_csv(extra_config_dirs) + + CONF(args=[], default_config_files=extra_config_files, + default_config_dirs=extra_config_dirs) + oslo_messaging.set_transport_defaults(conf.get('control_exchange', 'swift')) self._notifier = oslo_messaging.Notifier( - oslo_messaging.get_notification_transport(cfg.CONF, + oslo_messaging.get_notification_transport(CONF, url=conf.get('url')), publisher_id='ceilometermiddleware', driver=conf.get('driver', 'messagingv2'), diff --git a/releasenotes/notes/bug-1673738-ec8f7dd8ac43ad54.yaml b/releasenotes/notes/bug-1673738-ec8f7dd8ac43ad54.yaml new file mode 100644 index 0000000..9c1847c --- /dev/null +++ b/releasenotes/notes/bug-1673738-ec8f7dd8ac43ad54.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - | + The ceilometer middleware now supports loading additional config files to + look up oslo.messaging lbirary options. Set the ``extra_config_files`` + parameter or the ``extra_config_dirs`` parameter in the ceilometer + middleware section in the swift proxy server config file.