make UPD listener work when 'tcp://' is omitted on interface

'tcp://' may be omitted on interfaces
add missing 'tcp://' earlier in code, so we do not need to check
for missing 'tcp://' again.

Change-Id: Ie9b4dbd168aebdb6edfe71dbd2cfc25e9229fe67
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35321
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
This commit is contained in:
zolliker 2024-12-17 17:08:19 +01:00
parent 898da75b89
commit 9b079ddf4b

View File

@ -176,6 +176,8 @@ class Server:
lock = threading.Lock()
failed = {}
interfaces = [self.node_cfg['interface']] + self.node_cfg.get('secondary', [])
# allow missing "tcp://"
interfaces = [iface if '://' in iface else f'tcp://{iface}' for iface in interfaces]
with lock:
for interface in interfaces:
opts = {'uri': interface}
@ -258,8 +260,7 @@ class Server:
def _interfaceThread(self, opts, lock, failed, interfaces, start_cb):
iface = opts['uri']
scheme, _, _ = iface.rpartition('://')
scheme = scheme or 'tcp'
scheme = iface.split('://')[0]
cls = get_class(self.INTERFACES[scheme])
try:
with cls(scheme, self.log.getChild(scheme), opts, self) as interface: