Merge "Add option to disable using oslo_message notifier"
This commit is contained in:
commit
499979df5f
@ -42,6 +42,13 @@ _LOG = None
|
|||||||
AUDIT_MIDDLEWARE_GROUP = 'audit_middleware_notifications'
|
AUDIT_MIDDLEWARE_GROUP = 'audit_middleware_notifications'
|
||||||
|
|
||||||
_AUDIT_OPTS = [
|
_AUDIT_OPTS = [
|
||||||
|
cfg.BoolOpt('use_oslo_messaging',
|
||||||
|
default=True,
|
||||||
|
help='Indicate whether to use oslo_messaging as the notifier. '
|
||||||
|
'If set to False, the local logger will be used as the '
|
||||||
|
'notifier. If set to True, the oslo_messaging package '
|
||||||
|
'must also be present. Otherwise, the local will be used '
|
||||||
|
'instead.'),
|
||||||
cfg.StrOpt('driver',
|
cfg.StrOpt('driver',
|
||||||
help='The Driver to handle sending notifications. Possible '
|
help='The Driver to handle sending notifications. Possible '
|
||||||
'values are messaging, messagingv2, routing, log, test, '
|
'values are messaging, messagingv2, routing, log, test, '
|
||||||
|
@ -41,7 +41,7 @@ class _MessagingNotifier(object):
|
|||||||
|
|
||||||
|
|
||||||
def create_notifier(conf, log):
|
def create_notifier(conf, log):
|
||||||
if oslo_messaging:
|
if oslo_messaging and conf.get('use_oslo_messaging'):
|
||||||
transport = oslo_messaging.get_notification_transport(
|
transport = oslo_messaging.get_notification_transport(
|
||||||
conf.oslo_conf_obj,
|
conf.oslo_conf_obj,
|
||||||
url=conf.get('transport_url'))
|
url=conf.get('transport_url'))
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
|
from keystonemiddleware import audit
|
||||||
from keystonemiddleware.tests.unit.audit import base
|
from keystonemiddleware.tests.unit.audit import base
|
||||||
|
|
||||||
|
|
||||||
@ -80,3 +81,13 @@ class AuditNotifierConfigTest(base.BaseAuditMiddlewareTest):
|
|||||||
self.assertTrue(m.called)
|
self.assertTrue(m.called)
|
||||||
# make sure first call kwarg 'url' is same as provided transport_url
|
# make sure first call kwarg 'url' is same as provided transport_url
|
||||||
self.assertEqual(transport_url, m.call_args_list[0][1]['url'])
|
self.assertEqual(transport_url, m.call_args_list[0][1]['url'])
|
||||||
|
|
||||||
|
def test_do_not_use_oslo_messaging(self):
|
||||||
|
self.cfg.config(use_oslo_messaging=False,
|
||||||
|
group='audit_middleware_notifications')
|
||||||
|
audit_middleware = self.create_simple_middleware()
|
||||||
|
|
||||||
|
# make sure it is using a local notifier instead of oslo_messaging
|
||||||
|
self.assertTrue(
|
||||||
|
isinstance(audit_middleware._notifier,
|
||||||
|
audit._notifier._LogNotifier))
|
||||||
|
13
releasenotes/notes/bug-1695038-2cbedcabf8ecc057.yaml
Normal file
13
releasenotes/notes/bug-1695038-2cbedcabf8ecc057.yaml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- >
|
||||||
|
[`bug 1695038 <https://bugs.launchpad.net/keystonemiddleware/+bug/1695038>`_]
|
||||||
|
The use_oslo_messaging configuration option is added for services such as
|
||||||
|
Swift, which need the audit middleware to use the local logger instead of
|
||||||
|
the oslo.messaging notifier regardless of whether the oslo.messaging package
|
||||||
|
is present or not.
|
||||||
|
Leave this option set to its default True value to keep the previous behavior
|
||||||
|
unchanged - the audit middleware will use the oslo.messaging notifier if the
|
||||||
|
oslo.messaging package is present, and the local logger otherwise.
|
||||||
|
Services that rely on the local logger for audit notifications must set this
|
||||||
|
option to False.
|
Loading…
x
Reference in New Issue
Block a user