From 74dac1ca2fe78c82e2cc1c3e8955762002636068 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 | 16 +++++++++++++++- .../notes/bug-1673738-ec8f7dd8ac43ad54.yaml | 7 +++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/bug-1673738-ec8f7dd8ac43ad54.yaml diff --git a/ceilometermiddleware/swift.py b/ceilometermiddleware/swift.py index 04c09f4..364611b 100644 --- a/ceilometermiddleware/swift.py +++ b/ceilometermiddleware/swift.py @@ -160,10 +160,24 @@ 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) + + oslo_conf = cfg.ConfigOpts() + oslo_conf([], project='swift', + default_config_files=extra_config_files, + default_config_dirs=extra_config_dirs, + validate_default_values=True) + 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(oslo_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..bc50fde --- /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 library 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.