From e403a23ba840d534ba88e29cc484fd49f508b140 Mon Sep 17 00:00:00 2001 From: Rick Harris Date: Thu, 7 Mar 2013 23:34:13 +0000 Subject: Add conductor to nova-all. The conductor service was missing so running nova-all no longer results in a complete environment. This patch adds conductor to the binary list and updates the code to handle the different way in which conductor specifies the topic and manager. Fixes bug 1152371 Change-Id: I4862ad66216ab980e8636e9f3cdbabbace6ee73c --- bin/nova-all | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/bin/nova-all b/bin/nova-all index ace305727..d96b71604 100755 --- a/bin/nova-all +++ b/bin/nova-all @@ -50,6 +50,8 @@ from nova.vnc import xvp_proxy CONF = cfg.CONF +CONF.import_opt('manager', 'nova.conductor.api', group='conductor') +CONF.import_opt('topic', 'nova.conductor.api', group='conductor') CONF.import_opt('enabled_apis', 'nova.service') LOG = logging.getLogger('nova.all') @@ -74,9 +76,25 @@ if __name__ == '__main__': LOG.exception(_('Failed to load %s') % mod.__name__) for binary in ['nova-compute', 'nova-network', 'nova-scheduler', - 'nova-cert']: + 'nova-cert', 'nova-conductor']: + + # FIXME(sirp): Most service configs are defined in nova/service.py, but + # conductor has set a new precedent of storing these configs + # nova//api.py. + # + # We should update the existing services to use this new approach so we + # don't have to treat conductor differently here. + if binary == 'nova-conductor': + topic = CONF.conductor.topic + manager = CONF.conductor.manager + else: + topic = None + manager = None + try: - launcher.launch_server(service.Service.create(binary=binary)) + launcher.launch_server(service.Service.create(binary=binary, + topic=topic, + manager=manager)) except (Exception, SystemExit): LOG.exception(_('Failed to load %s'), binary) launcher.wait() -- cgit