summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-02-06 21:41:42 +0000
committerGerrit Code Review <review@openstack.org>2018-02-06 21:41:42 +0000
commitc44759fc4e0ffa8fa2a74824e2b914ce8675d8c1 (patch)
tree2b46227d8569b6c69c20ece031d48f9d39bf1a5a
parent575049e6008003c92f4f82b3d1202c3bbde35193 (diff)
parent8197bb21c38145b706cb85e562d28cb8f82680a1 (diff)
downloadceilometer-c44759fc4e0ffa8fa2a74824e2b914ce8675d8c1.tar.gz
Merge "utils: move kill_listeners to ceilometer.notification"
-rw-r--r--ceilometer/notification.py16
-rw-r--r--ceilometer/tests/unit/test_notification.py1
-rw-r--r--ceilometer/utils.py9
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