diff options
author | Julien Danjou <julien@danjou.info> | 2018-01-30 11:15:57 +0100 |
---|---|---|
committer | Julien Danjou <julien@danjou.info> | 2018-01-31 12:22:13 +0100 |
commit | 8197bb21c38145b706cb85e562d28cb8f82680a1 (patch) | |
tree | 0063702e4e91edcb81a8cd741049b4abbc8af63c | |
parent | 120a32bf5036f21e13174a87a57ca689a71d6c6d (diff) | |
download | ceilometer-8197bb21c38145b706cb85e562d28cb8f82680a1.tar.gz |
utils: move kill_listeners to ceilometer.notification
Change-Id: I9da63dcf30c11b58298c6db89090fe9e27a8065a
-rw-r--r-- | ceilometer/notification.py | 16 | ||||
-rw-r--r-- | ceilometer/tests/unit/test_notification.py | 1 | ||||
-rw-r--r-- | ceilometer/utils.py | 9 |
3 files changed, 12 insertions, 14 deletions
diff --git a/ceilometer/notification.py b/ceilometer/notification.py index c6c71f6b..6cd03411 100644 --- a/ceilometer/notification.py +++ b/ceilometer/notification.py @@ -235,8 +235,7 @@ class NotificationService(cotyledon.Service): targets.append(oslo_messaging.Target(topic=topic)) if self.pipeline_listener: - self.pipeline_listener.stop() - self.pipeline_listener.wait() + self.kill_listeners([self.pipeline_listener]) self.pipeline_listener = messaging.get_batch_notification_listener( self.transport, targets, endpoints, @@ -248,6 +247,15 @@ class NotificationService(cotyledon.Service): else self.conf.max_parallel_requests) self.pipeline_listener.start(override_pool_size=batch) + @staticmethod + def kill_listeners(listeners): + # NOTE(gordc): correct usage of oslo.messaging listener is to stop(), + # which stops new messages, and wait(), which processes remaining + # messages and closes connection + for listener in listeners: + listener.stop() + listener.wait() + def terminate(self): self.shutdown = True if self.periodic: @@ -257,7 +265,7 @@ class NotificationService(cotyledon.Service): self.partition_coordinator.stop() with self.coord_lock: if self.pipeline_listener: - utils.kill_listeners([self.pipeline_listener]) - utils.kill_listeners(self.listeners) + self.kill_listeners([self.pipeline_listener]) + self.kill_listeners(self.listeners) super(NotificationService, self).terminate() diff --git a/ceilometer/tests/unit/test_notification.py b/ceilometer/tests/unit/test_notification.py index 4a850b6e..cfe3bcd4 100644 --- a/ceilometer/tests/unit/test_notification.py +++ b/ceilometer/tests/unit/test_notification.py @@ -258,7 +258,6 @@ class TestRealNotificationHA(BaseRealNotification): fake_publisher_cls.return_value = self.publisher self._check_notification_service() - @mock.patch("ceilometer.utils.kill_listeners", mock.MagicMock()) @mock.patch.object(oslo_messaging.MessageHandlingServer, 'stop') @mock.patch.object(oslo_messaging.MessageHandlingServer, 'wait') @mock.patch.object(oslo_messaging.MessageHandlingServer, 'start') diff --git a/ceilometer/utils.py b/ceilometer/utils.py index 64ffade1..95c43d36 100644 --- a/ceilometer/utils.py +++ b/ceilometer/utils.py @@ -54,15 +54,6 @@ def hash_of_set(s): return str(hash(frozenset(s))) -def kill_listeners(listeners): - # NOTE(gordc): correct usage of oslo.messaging listener is to stop(), - # which stops new messages, and wait(), which processes remaining - # messages and closes connection - for listener in listeners: - listener.stop() - listener.wait() - - def spawn_thread(target, *args, **kwargs): t = threading.Thread(target=target, args=args, kwargs=kwargs) t.daemon = True |