[PATCH] osmo-gsm-tester[master]: Add remote user for RemoteProcress

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Fri Apr 28 14:14:18 UTC 2017


Review at  https://gerrit.osmocom.org/2450

Add remote user for RemoteProcress

Use it to set root user for SysmoBTS, otherwise if osmo-gsm-tester is
run by another user it will fail to connect

Change-Id: I67d4126fc75cb9c2d249c713cd6f14db1f1e21da
---
M selftest/process_test.py
M src/osmo_gsm_tester/bts_sysmo.py
M src/osmo_gsm_tester/process.py
3 files changed, 8 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/2450/1

diff --git a/selftest/process_test.py b/selftest/process_test.py
index 9ad082b..71523c9 100755
--- a/selftest/process_test.py
+++ b/selftest/process_test.py
@@ -38,7 +38,7 @@
 test_ssh = False
 if test_ssh:
     # this part of the test requires ability to ssh to localhost
-    p = process.RemoteProcess('localhost', '/tmp', 'ssh-test', tmpdir,
+    p = process.RemoteProcess('ssh-test', '/tmp', os.getenv('USER'), 'localhost', tmpdir,
                               ('ls', '-al'))
     p.launch()
     p.wait()
diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/bts_sysmo.py
index dd396ff..0f93661 100644
--- a/src/osmo_gsm_tester/bts_sysmo.py
+++ b/src/osmo_gsm_tester/bts_sysmo.py
@@ -40,6 +40,7 @@
         self.set_name('osmo-bts-sysmo')
         self.set_log_category(log.C_RUN)
         self.remote_env = {}
+        self.remote_user = 'root'
 
     def start(self):
         with self:
@@ -62,14 +63,14 @@
             self.run_remote('rm-remote-dir', ('test', '!', '-d', SysmoBts.REMOTE_DIR, '||', 'rm', '-rf', SysmoBts.REMOTE_DIR))
             self.run_remote('mk-remote-dir', ('mkdir', '-p', SysmoBts.REMOTE_DIR))
             self.run_local('scp-inst-to-sysmobts',
-                ('scp', '-r', str(self.inst), '%s:%s' % (self.remote_addr, str(self.remote_inst))))
+                ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.remote_addr, str(self.remote_inst))))
 
             remote_run_dir = self.remote_dir.child(SysmoBts.BTS_SYSMO_BIN)
             self.run_remote('mk-remote-run-dir', ('mkdir', '-p', remote_run_dir))
 
             remote_config_file = self.remote_dir.child(SysmoBts.BTS_SYSMO_CFG)
             self.run_local('scp-cfg-to-sysmobts',
-                ('scp', '-r', self.config_file, '%s:%s' % (self.remote_addr, remote_config_file)))
+                ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.remote_addr, remote_config_file)))
 
             remote_lib = self.remote_inst.child('lib')
             remote_binary = self.remote_inst.child('bin', 'osmo-bts-sysmo')
@@ -80,7 +81,7 @@
 
     def _process_remote(self, name, popen_args, remote_cwd=None):
         run_dir = self.run_dir.new_dir(name)
-        return process.RemoteProcess(name, run_dir, self.remote_addr, remote_cwd,
+        return process.RemoteProcess(name, run_dir, self.remote_user, self.remote_addr, remote_cwd,
                                      popen_args)
 
     def run_remote(self, name, popen_args, remote_cwd=None):
diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py
index 78814c0..16f7905 100644
--- a/src/osmo_gsm_tester/process.py
+++ b/src/osmo_gsm_tester/process.py
@@ -210,8 +210,9 @@
 
 class RemoteProcess(Process):
 
-    def __init__(self, name, run_dir, remote_host, remote_cwd, popen_args, **popen_kwargs):
+    def __init__(self, name, run_dir, remote_user, remote_host, remote_cwd, popen_args, **popen_kwargs):
         super().__init__(name, run_dir, popen_args, **popen_kwargs)
+        self.remote_user = remote_user
         self.remote_host = remote_host
         self.remote_cwd = remote_cwd
 
@@ -222,7 +223,7 @@
             cd = 'cd "%s"; ' % self.remote_cwd
         else:
             cd = ''
-        self.popen_args = ['ssh', self.remote_host,
+        self.popen_args = ['ssh', self.remote_user+'@'+self.remote_host,
                            '%s%s' % (cd,
                                      ' '.join(self.popen_args))]
         self.dbg(self.popen_args, dir=self.run_dir, conf=self.popen_kwargs)

-- 
To view, visit https://gerrit.osmocom.org/2450
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I67d4126fc75cb9c2d249c713cd6f14db1f1e21da
Gerrit-PatchSet: 1
Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>



More information about the gerrit-log mailing list