[MERGED] 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/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Thu May 4 13:16:21 UTC 2017


Neels Hofmeyr has submitted this change and it was merged.

Change subject: Add remote user for RemoteProcress
......................................................................


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

Approvals:
  Neels Hofmeyr: Looks good to me, approved
  Jenkins Builder: Verified



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 2c2bcac..d702148 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)))
 
             self.run_local('reload-dsp-firmware', ('ssh', self.remote_addr, '/bin/sh', '-c', '"cat /lib/firmware/sysmobts-v?.bit > /dev/fpgadl_par0 ; cat /lib/firmware/sysmobts-v?.out > /dev/dspdl_dm644x_0"'))
 
@@ -82,7 +83,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: merged
Gerrit-Change-Id: I67d4126fc75cb9c2d249c713cd6f14db1f1e21da
Gerrit-PatchSet: 2
Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>



More information about the gerrit-log mailing list