From 185f94c013442d87edcea3d81b133d26fdf8a945 Mon Sep 17 00:00:00 2001 From: Mehdi Abaakouk Date: Tue, 1 Dec 2015 10:27:23 +0100 Subject: [PATCH] notif: Check the driver features in dispatcher The transport/driver features check is done into the get listener methods. So when these methods are not used the driver features checks is not done. This change moves it into the dispatcher layer to ensure the requirements are always checked. This changes a bit the behavior of when the check occurs. Before it was during the listener object initialisation. Now this when the listener server start. Change-Id: I4d81a4e8496f04d62e48317829d5dd8b942d501c --- oslo_messaging/notify/dispatcher.py | 1 + oslo_messaging/notify/listener.py | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/oslo_messaging/notify/dispatcher.py b/oslo_messaging/notify/dispatcher.py index afd34a270..72287678d 100644 --- a/oslo_messaging/notify/dispatcher.py +++ b/oslo_messaging/notify/dispatcher.py @@ -56,6 +56,7 @@ class _NotificationDispatcherBase(dispatcher.DispatcherBase): priorities)) def _listen(self, transport): + transport._require_driver_features(requeue=self.allow_requeue) return transport._listen_for_notifications(self._targets_priorities, pool=self.pool) diff --git a/oslo_messaging/notify/listener.py b/oslo_messaging/notify/listener.py index 275da20c0..8855d5875 100644 --- a/oslo_messaging/notify/listener.py +++ b/oslo_messaging/notify/listener.py @@ -137,7 +137,6 @@ def get_notification_listener(transport, targets, endpoints, :type pool: str :raises: NotImplementedError """ - transport._require_driver_features(requeue=allow_requeue) dispatcher = notify_dispatcher.NotificationDispatcher(targets, endpoints, serializer, allow_requeue, pool) @@ -180,7 +179,6 @@ def get_batch_notification_listener(transport, targets, endpoints, :type batch_timeout: int :raises: NotImplementedError """ - transport._require_driver_features(requeue=allow_requeue) dispatcher = notify_dispatcher.BatchNotificationDispatcher( targets, endpoints, serializer, allow_requeue, pool, batch_size, batch_timeout)