start SEA server if not running

before connecting to SEA

Change-Id: I75c02f25e023e0e1769810a180430efd48b9c550
This commit is contained in:
zolliker 2022-06-08 16:28:39 +02:00
parent a35231f5bd
commit e6fdd79df4

View File

@ -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)