summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRick Harris <rconradharris@gmail.com>2013-03-07 23:34:13 +0000
committerRick Harris <rconradharris@gmail.com>2013-03-08 19:47:55 +0000
commite403a23ba840d534ba88e29cc484fd49f508b140 (patch)
treeec74b903067ef7f9bb53d11e8e6cb3c3de743f92
parent4cb4749b99164a676b2a2903eb19acc191e2d71f (diff)
downloadnova-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-xbin/nova-all22
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()