summaryrefslogtreecommitdiff
path: root/ironic/common/rpc_service.py
diff options
context:
space:
mode:
authorDmitry Tantsur <dtantsur@protonmail.com>2021-11-29 11:36:06 +0100
committerDmitry Tantsur <dtantsur@protonmail.com>2021-12-07 09:33:04 +0100
commit019ed2d7b11575326328231a7f3eca88240275ef (patch)
tree33b73fffdafc3e48144a72c7014dbca18d5a3987 /ironic/common/rpc_service.py
parent9a6f2d101ba734126b3e7f0d475b747ebcb84b62 (diff)
downloadironic-019ed2d7b11575326328231a7f3eca88240275ef.tar.gz
Add "none" RPC transport that disables the RPC bus
When using the new combined executable in a single-conductor scenario, it may make sense to completely disable the remote RPC. The new ``rpc_transport`` value ``none`` achieves that. Change-Id: I6a83358c65b3ed213c8a991d42660ca51fc3a8ec Story: #2009676 Task: #44104
Diffstat (limited to 'ironic/common/rpc_service.py')
-rw-r--r--ironic/common/rpc_service.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/ironic/common/rpc_service.py b/ironic/common/rpc_service.py
index bbf38d7f4..78379c981 100644
--- a/ironic/common/rpc_service.py
+++ b/ironic/common/rpc_service.py
@@ -53,19 +53,22 @@ class RPCService(service.Service):
if CONF.rpc_transport == 'json-rpc':
self.rpcserver = json_rpc.WSGIService(
self.manager, serializer, context.RequestContext.from_dict)
- else:
+ elif CONF.rpc_transport != 'none':
target = messaging.Target(topic=self.topic, server=self.host)
endpoints = [self.manager]
self.rpcserver = rpc.get_server(target, endpoints, serializer)
- self.rpcserver.start()
+
+ if self.rpcserver is not None:
+ self.rpcserver.start()
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.',
- {'service': self.topic, 'host': self.host})
+ LOG.info('Created RPC server with %(transport)s transport for service '
+ '%(service)s on host %(host)s.',
+ {'service': self.topic, 'host': self.host,
+ 'transport': CONF.rpc_transport})
def stop(self):
try: