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:
2021-04-12 18:08:14 +02:00
parent c7584d70b1
commit d73ec3ab9a
2 changed files with 14 additions and 7 deletions

View File

@ -231,22 +231,22 @@ class NicosManager(ServiceManager):
os.chdir(join(os.environ['NICOS_ROOT'], env['NICOS_PACKAGE']))
sys.path.insert(0, os.environ['NICOS_ROOT'])
def run_client(self, ins, main, app, **kwargs):
serverhost = os.environ.get('NICOS_SERVER_HOST', 'localhost')
sys.argv[:] = [app, 'guest:guest@%s:%d' % (serverhost, self.info[ins]['daemon'])]
def run_client(self, ins, main, clientapp, **kwargs):
serverhost = os.environ.get('REMOTE_HOST', 'localhost')
login = os.environ.get('REMOTE_LOGIN', 'guest:guest')
sys.argv[:] = [clientapp, '%s@%s:%d' % (login, serverhost, self.info[ins]['daemon'])]
sys.exit(main(sys.argv, **kwargs))
def do_cli(self, ins):
self.prepare_client(ins)
from nicos.clients.cli import main
os.environ['NICOS_HISTORY_FILE'] = expanduser('~/.nicoshistory_%s' % ins)
self.run_client(ins, main, 'nicos-client',
userpath=expanduser('~/.config/nicos_client_%s' % ins))
self.run_client(ins, main, 'nicos-client')
def do_gui(self, ins):
self.prepare_client(ins)
from nicos.clients.gui.main import main
userpath = expanduser('~/.config/nicos_%s' % ins)
userpath = expanduser('~/.config/nicos_%s' % ins)
print('starting nicos gui %s' % ins, userpath)
self.run_client(ins, main, 'nicos-gui', userpath=userpath)
self.run_client(ins, main, 'nicos-gui', userpath=userpath, app='gui_' + ins)