diff options
author | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-11-29 11:36:06 +0100 |
---|---|---|
committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-12-07 09:31:12 +0100 |
commit | 9a6f2d101ba734126b3e7f0d475b747ebcb84b62 (patch) | |
tree | a1d33fcb4f8689d38fa50bd8234c55d29f096ecb /ironic/common/rpc_service.py | |
parent | 3f990beb97c2f72a6af28dd24f70b016606acc61 (diff) | |
download | ironic-9a6f2d101ba734126b3e7f0d475b747ebcb84b62.tar.gz |
All-in-one Ironic service with a local RPC bus
This adds a new executable /usr/bin/ironic (cool that we no longer have
a CLI with this name) that starts API and conductor together in the same
process. When an RPC host name matches the current one, the call is not
routed through the remote RPC, a local function call is done instead.
Story: #2009676
Task: #43953
Change-Id: I51bf7226aea145dc7c8fd93d61caa233ca16c9c9
Diffstat (limited to 'ironic/common/rpc_service.py')
-rw-r--r-- | ironic/common/rpc_service.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ironic/common/rpc_service.py b/ironic/common/rpc_service.py index c0a550c64..bbf38d7f4 100644 --- a/ironic/common/rpc_service.py +++ b/ironic/common/rpc_service.py @@ -38,7 +38,7 @@ class RPCService(service.Service): self.host = host manager_module = importutils.try_import(manager_module) manager_class = getattr(manager_module, manager_class) - self.manager = manager_class(host, manager_module.MANAGER_TOPIC) + self.manager = manager_class(host, rpc.MANAGER_TOPIC) self.topic = self.manager.topic self.rpcserver = None self.deregister = True @@ -61,6 +61,7 @@ class RPCService(service.Service): self.handle_signal() self.manager.init_host(admin_context) + rpc.set_global_manager(self.manager) LOG.info('Created RPC server for service %(service)s on host ' '%(host)s.', @@ -84,6 +85,7 @@ class RPCService(service.Service): LOG.info('Stopped RPC server for service %(service)s on host ' '%(host)s.', {'service': self.topic, 'host': self.host}) + rpc.set_global_manager(None) def _handle_signal(self, signo, frame): LOG.info('Got signal SIGUSR1. Not deregistering on next shutdown ' |