diff options
author | Zuul <zuul@review.openstack.org> | 2018-02-06 21:41:42 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2018-02-06 21:41:42 +0000 |
commit | c44759fc4e0ffa8fa2a74824e2b914ce8675d8c1 (patch) | |
tree | 2b46227d8569b6c69c20ece031d48f9d39bf1a5a | |
parent | 575049e6008003c92f4f82b3d1202c3bbde35193 (diff) | |
parent | 8197bb21c38145b706cb85e562d28cb8f82680a1 (diff) | |
download | ceilometer-c44759fc4e0ffa8fa2a74824e2b914ce8675d8c1.tar.gz |
Merge "utils: move kill_listeners to ceilometer.notification"
-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 |