support for connecting clients to remote servers
- define REMOTE_HOST and REMOTE_LOGIN in servicemanager.cfg - added app argument to gui client main
This commit is contained in:
7
base.py
7
base.py
@@ -87,6 +87,7 @@ class ServiceManager:
|
||||
|
||||
def __init__(self):
|
||||
self.env = {}
|
||||
self.remote_hosts = {}
|
||||
self.commands = {}
|
||||
# self.revcmd = {}
|
||||
self.info = {}
|
||||
@@ -138,6 +139,8 @@ class ServiceManager:
|
||||
section = dict(parser[ins])
|
||||
if ins == 'MAIN':
|
||||
ins = self.main_ins = basename(expanduser('~'))
|
||||
if 'REMOTE_HOST' in section:
|
||||
self.remote_hosts[ins] = section['REMOTE_HOST']
|
||||
command = section.get('%s_command' % self.group)
|
||||
self.revcmd[command] = self.group
|
||||
nr = section.get(self.group)
|
||||
@@ -205,6 +208,8 @@ class ServiceManager:
|
||||
if ins not in self.info:
|
||||
raise KeyError("don't know %r" % ins)
|
||||
sp_ins = ' ' + ins if ins != self.main_ins else ''
|
||||
if ins in self.remote_hosts:
|
||||
return
|
||||
if not self.get_procs().get(ins, {}).get(service):
|
||||
startcmd = '%s start%s' % (self.group, sp_ins)
|
||||
raise ServiceDown('%s%s is not running - please use %r' % (self.group, sp_ins, startcmd))
|
||||
@@ -271,6 +276,8 @@ class ServiceManager:
|
||||
service_ports = self.get_ins_info(ins)
|
||||
except ValueError:
|
||||
raise ValueError('do not know %r' % ins)
|
||||
if ins in self.remote_hosts:
|
||||
raise ValueError('can not start, %s is running on a remote host' % self.group)
|
||||
services = list(service_ports) if service is None else [service]
|
||||
if restart:
|
||||
self.stop(ins, service)
|
||||
|
||||
Reference in New Issue
Block a user