summaryrefslogtreecommitdiffstats
path: root/nova/service.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-11-16 05:37:57 +0000
committerGerrit Code Review <review@openstack.org>2012-11-16 05:37:57 +0000
commitf417e2e635952adc213b4ff3077f007e5ad0a479 (patch)
treeb5251402fda9b484a4deac920368e60b6c8c3046 /nova/service.py
parentab6b56a0418dddc93f6cd64cd0e93bc53e93af76 (diff)
parentf92c1ddcef8b033957692b9b0728aee567d52de0 (diff)
downloadnova-f417e2e635952adc213b4ff3077f007e5ad0a479.tar.gz
nova-f417e2e635952adc213b4ff3077f007e5ad0a479.tar.xz
nova-f417e2e635952adc213b4ff3077f007e5ad0a479.zip
Merge "Add support for backdoor_port to be returned with a rpc call."
Diffstat (limited to 'nova/service.py')
-rw-r--r--nova/service.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/nova/service.py b/nova/service.py
index 45bdf7ec0..15d1ca887 100644
--- a/nova/service.py
+++ b/nova/service.py
@@ -111,7 +111,7 @@ class Launcher(object):
"""
self._services = []
- eventlet_backdoor.initialize_if_enabled()
+ self.backdoor_port = eventlet_backdoor.initialize_if_enabled()
@staticmethod
def run_server(server):
@@ -131,6 +131,8 @@ class Launcher(object):
:returns: None
"""
+ if self.backdoor_port is not None:
+ server.backdoor_port = self.backdoor_port
gt = eventlet.spawn(self.run_server, server)
self._services.append(gt)
@@ -382,6 +384,7 @@ class Service(object):
self.periodic_fuzzy_delay = periodic_fuzzy_delay
self.saved_args, self.saved_kwargs = args, kwargs
self.timers = []
+ self.backdoor_port = None
def start(self):
vcs_string = version.version_string_with_vcs()
@@ -400,6 +403,9 @@ class Service(object):
self.manager.pre_start_hook()
+ if self.backdoor_port is not None:
+ self.manager.backdoor_port = self.backdoor_port
+
self.conn = rpc.create_connection(new=True)
LOG.debug(_("Creating Consumer connection for Service %s") %
self.topic)
@@ -578,6 +584,7 @@ class WSGIService(object):
port=self.port)
# Pull back actual port used
self.port = self.server.port
+ self.backdoor_port = None
def _get_manager(self):
"""Initialize a Manager object appropriate for this service.
@@ -612,6 +619,8 @@ class WSGIService(object):
if self.manager:
self.manager.init_host()
self.manager.pre_start_hook()
+ if self.backdoor_port is not None:
+ self.manager.backdoor_port = self.backdoor_port
self.server.start()
if self.manager:
self.manager.post_start_hook()