summaryrefslogtreecommitdiff
path: root/ceilometer/notification.py
diff options
context:
space:
mode:
authorJulien Danjou <julien@danjou.info>2017-03-08 17:48:07 +0100
committerJulien Danjou <julien@danjou.info>2017-03-17 11:24:29 +0100
commit5e43dc7733ad2507b17bdc6f9613e25372767f86 (patch)
tree312143cdc589ff26fb106be42f55f7a767653039 /ceilometer/notification.py
parent9400ce4a54c605cd32aa340d73848ba3eb7a47b0 (diff)
downloadceilometer-5e43dc7733ad2507b17bdc6f9613e25372767f86.tar.gz
coordination: create coordinator at init time
This also switches the coordination to zake:// in test so the code actually works like it would with a production-ready coordinator. Change-Id: I38f6a3389f70bed6b45fa7526a13d0484bfc9c3f
Diffstat (limited to 'ceilometer/notification.py')
-rw-r--r--ceilometer/notification.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/ceilometer/notification.py b/ceilometer/notification.py
index fc64fa24..d5717130 100644
--- a/ceilometer/notification.py
+++ b/ceilometer/notification.py
@@ -16,6 +16,7 @@
import itertools
import threading
import time
+import uuid
from ceilometer.agent import plugin_base
from concurrent import futures
@@ -107,10 +108,13 @@ class NotificationService(cotyledon.Service):
NOTIFICATION_NAMESPACE = 'ceilometer.notification'
NOTIFICATION_IPC = 'ceilometer-pipe'
- def __init__(self, worker_id, conf):
+ def __init__(self, worker_id, conf, coordination_id=None):
super(NotificationService, self).__init__(worker_id)
self.startup_delay = worker_id
self.conf = conf
+ # XXX uuid4().bytes ought to work, but it requires ascii for now
+ self.coordination_id = (coordination_id or
+ str(uuid.uuid4()).encode('ascii'))
@classmethod
def _get_notifications_manager(cls, pm):
@@ -182,7 +186,7 @@ class NotificationService(cotyledon.Service):
if self.conf.notification.workload_partitioning:
self.group_id = self.NOTIFICATION_NAMESPACE
self.partition_coordinator = coordination.PartitionCoordinator(
- self.conf)
+ self.conf, self.coordination_id)
self.partition_coordinator.start()
else:
# FIXME(sileht): endpoint uses the notification_topics option