diff options
author | Rick Harris <rconradharris@gmail.com> | 2013-03-07 23:34:13 +0000 |
---|---|---|
committer | Rick Harris <rconradharris@gmail.com> | 2013-03-08 19:47:55 +0000 |
commit | e403a23ba840d534ba88e29cc484fd49f508b140 (patch) | |
tree | ec74b903067ef7f9bb53d11e8e6cb3c3de743f92 | |
parent | 4cb4749b99164a676b2a2903eb19acc191e2d71f (diff) | |
download | nova-e403a23ba840d534ba88e29cc484fd49f508b140.tar.gz nova-e403a23ba840d534ba88e29cc484fd49f508b140.tar.xz nova-e403a23ba840d534ba88e29cc484fd49f508b140.zip |
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
-rwxr-xr-x | bin/nova-all | 22 |
1 files 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/<service>/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() |