diff options
author | Jenkins <jenkins@review.openstack.org> | 2012-11-16 05:37:57 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2012-11-16 05:37:57 +0000 |
commit | f417e2e635952adc213b4ff3077f007e5ad0a479 (patch) | |
tree | b5251402fda9b484a4deac920368e60b6c8c3046 /nova/service.py | |
parent | ab6b56a0418dddc93f6cd64cd0e93bc53e93af76 (diff) | |
parent | f92c1ddcef8b033957692b9b0728aee567d52de0 (diff) | |
download | nova-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.py | 11 |
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() |