From e6fdd79df460765969061e6b8b5fb1472d482ffc Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 8 Jun 2022 16:28:39 +0200 Subject: [PATCH] start SEA server if not running before connecting to SEA Change-Id: I75c02f25e023e0e1769810a180430efd48b9c550 --- secop_psi/sea.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/secop_psi/sea.py b/secop_psi/sea.py index 156c013..f621490 100644 --- a/secop_psi/sea.py +++ b/secop_psi/sea.py @@ -110,10 +110,13 @@ class SeaClient(ProxyClient, Module): visibility = 'expert' default_json_file = {} _connect_thread = None + _service_manager = None + _instance = None def __init__(self, name, log, opts, srv): instance = srv.node_cfg['name'].rsplit('_', 1)[0] if 'uri' not in opts: + self._instance = instance port = get_sea_port(instance) if port is None: raise ConfigError('missing sea port for %s' % instance) @@ -140,6 +143,11 @@ class SeaClient(ProxyClient, Module): self._connect_thread = mkthread(self._connect, start_events.get_trigger()) def _connect(self, started_callback): + if self._instance: + if not self._service_manager: + from servicemanager import SeaManager + self._service_manager = SeaManager() + self._service_manager.do_start(self._instance) if '//' not in self.uri: self.uri = 'tcp://' + self.uri self.asynio = AsynConn(self.uri)