[WIP] consider sea device when initializing FrappyNode
This commit is contained in:
22
devices.py
22
devices.py
@ -297,11 +297,13 @@ class FrappyNode(SecNodeDevice, Moveable):
|
|||||||
code, text = status.DISABLED, 'disabled'
|
code, text = status.DISABLED, 'disabled'
|
||||||
SecNodeDevice._set_status(self, code, text)
|
SecNodeDevice._set_status(self, code, text)
|
||||||
|
|
||||||
def restart(self, cfg=None, restart=True):
|
def restart(self, cfg=None, forced=True):
|
||||||
"""restart frappy server
|
"""restart frappy server
|
||||||
|
|
||||||
:param cfg: config for frappy server, if not given, restart with the same config
|
:param cfg: config for frappy server, if not given, restart with the same config
|
||||||
:param restart: when false, do not restart when already running with same cfg
|
:param forced: True: restart anyway, force using cfg
|
||||||
|
False: try to get cfg (1) from sea, (2) from running frappy server, (3) from given cfg
|
||||||
|
when cfg has not changed, do not restart
|
||||||
"""
|
"""
|
||||||
if cfg is None:
|
if cfg is None:
|
||||||
cfg = self._cfgvalue
|
cfg = self._cfgvalue
|
||||||
@ -310,10 +312,18 @@ class FrappyNode(SecNodeDevice, Moveable):
|
|||||||
cfginfo = {}
|
cfginfo = {}
|
||||||
self._service_manager.get_procs(cfginfo=cfginfo)
|
self._service_manager.get_procs(cfginfo=cfginfo)
|
||||||
running_cfg = cfginfo.get((ins, self.service), '')
|
running_cfg = cfginfo.get((ins, self.service), '')
|
||||||
if cfg == running_cfg:
|
if not forced:
|
||||||
if not restart:
|
sea_cfg = self._service_manager.cfg_from_sea(ins).get(self.service)
|
||||||
return
|
if sea_cfg == '?':
|
||||||
else:
|
self.log.warning('undefined sea device')
|
||||||
|
cfg = '' # stop server
|
||||||
|
elif sea_cfg:
|
||||||
|
cfg = sea_cfg
|
||||||
|
elif running_cfg:
|
||||||
|
return
|
||||||
|
if cfg == running_cfg:
|
||||||
|
return
|
||||||
|
if cfg != running_cfg:
|
||||||
self.disable()
|
self.disable()
|
||||||
if running_cfg:
|
if running_cfg:
|
||||||
self._disconnect()
|
self._disconnect()
|
||||||
|
Reference in New Issue
Block a user