summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGordon Chung <chungg@ca.ibm.com>2014-03-27 17:38:40 -0400
committerEoghan Glynn <eglynn@redhat.com>2014-10-22 19:48:01 +0100
commit63d934b986d5ca371fe63c6dba0b4a0a2f0bed25 (patch)
tree81a20f32d9f515038912af39e24e2919224ea652
parentcbdb9220e36fd2778a84da62d599bec492d057ae (diff)
downloadceilometer-63d934b986d5ca371fe63c6dba0b4a0a2f0bed25.tar.gz
ensure dispatcher service is configured before rpc
there is a rare race condition where when the mq contains notifications, the rpc service is configured before dispatcher so it may attempt to start sending messages to dispatcher before it has been configured. this patch ensures the dispatcher configuration is done before starting rpc service. Closes-Bug: #1384364 Change-Id: If4c3a225e0bd5ae6eefad072b844af1ef5786f3f (cherry picked from commit 5df14763a5a88b9549066da04dac13ae2ad73144)
-rw-r--r--ceilometer/service.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/ceilometer/service.py b/ceilometer/service.py
index 48f18075..b23572b7 100644
--- a/ceilometer/service.py
+++ b/ceilometer/service.py
@@ -109,7 +109,6 @@ class DispatchedService(object):
DISPATCHER_NAMESPACE = 'ceilometer.dispatcher'
def start(self):
- super(DispatchedService, self).start()
LOG.debug(_('loading dispatchers from %s'),
self.DISPATCHER_NAMESPACE)
self.dispatcher_manager = named.NamedExtensionManager(
@@ -120,6 +119,8 @@ class DispatchedService(object):
if not list(self.dispatcher_manager):
LOG.warning(_('Failed to load any dispatchers for %s'),
self.DISPATCHER_NAMESPACE)
+ # ensure dispatcher is configured before starting other services
+ super(DispatchedService, self).start()
def get_workers(name):