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/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18483 ) Change subject: ms_{srs,amarisoft}: Reuse run_node to hold run info ...................................................................... ms_{srs,amarisoft}: Reuse run_node to hold run info Change-Id: Ifdea48fed0bfc152131c53b87c34b4514c632917 --- M doc/examples/4g_srsLTE/resources.conf M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py M sysmocom/resources.conf.prod 4 files changed, 54 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/18483/1 diff --git a/doc/examples/4g_srsLTE/resources.conf b/doc/examples/4g_srsLTE/resources.conf index f0db3c0..cadb1b6 100644 --- a/doc/examples/4g_srsLTE/resources.conf +++ b/doc/examples/4g_srsLTE/resources.conf @@ -31,20 +31,26 @@ - label: srsUE-zmq type: srsue rf_dev_type: zmq - remote_user: jenkins - addr: 172.18.50.100 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 172.18.50.100 + ssh_user: jenkins + ssh_addr: 172.18.50.100 - label: srsUE-B200 type: srsue rf_dev_type: uhd rf_dev_args: 'type=b200,serial=3128FF1' - remote_user: jenkins - addr: 10.12.1.195 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 10.12.1.195 + ssh_user: jenkins + ssh_addr: 10.12.1.195 diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index d79756b..5067048 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -27,6 +27,10 @@ from .ms import MS def on_register_schemas(): + resource_schema = {} + for key, val in RunNode.schema().items(): + resource_schema['run_node.%s' % key] = val + schema.register_resource_schema('modem', resource_schema) config_schema = { 'license_server_addr': schema.IPV4, } @@ -79,10 +83,8 @@ IFUPFILE = 'ue-ifup' def __init__(self, testenv, conf): - self._addr = conf.get('addr', None) - if self._addr is None: - raise log.Error('addr not set') - super().__init__('amarisoftue_%s' % self._addr, conf) + self._run_node = RunNode.from_conf(conf.get('run_node', {})) + super().__init__('amarisoftue_%s' % self.addr(), conf) self.enb = None self.run_dir = None self.inst = None @@ -99,7 +101,6 @@ self.remote_log_file = None self.remote_ifup_file = None self.testenv = testenv - self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -113,7 +114,7 @@ def cleanup(self): if self.process is None: return - if self.setup_runs_locally(): + if self._run_node.is_local(): return # copy back files (may not exist, for instance if there was an early error of process): try: @@ -121,9 +122,6 @@ except Exception as e: self.log(repr(e)) - def setup_runs_locally(self): - return self.remote_user is None - def netns(self): return "amarisoftue1" @@ -135,7 +133,7 @@ self.enb = enb self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() - if self.setup_runs_locally(): + if self._run_node.is_local(): self.start_locally() else: self.start_remotely() @@ -219,8 +217,8 @@ ''' % (self.netns(), self.netns()) f.write(r) - if not self.setup_runs_locally(): - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + if not self._run_node.is_local(): + self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(AmarisoftUE.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftUE.BINFILE)) @@ -235,10 +233,11 @@ config.overlay(values, dict(ue=self.testenv.suite().config().get('amarisoft', {}))) config.overlay(values, dict(ue=self.testenv.suite().config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) - config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) + config.overlay(values, dict(ue=dict(addr = self.addr(), + num_antennas = self.enb.num_ports()))) - logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file - ifupfile = self.ifup_file if self.setup_runs_locally() else self.remote_ifup_file + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + ifupfile = self.ifup_file if self._run_node.is_local() else self.remote_ifup_file config.overlay(values, dict(ue=dict(log_filename=logfile, ifup_filename=ifupfile))) @@ -289,7 +288,7 @@ self.gen_conf_file(self.config_file, AmarisoftUE.CFGFILE, values) self.gen_conf_file(self.config_rf_file, AmarisoftUE.CFGFILE_RF, values) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(remote_run_dir) @@ -309,13 +308,13 @@ return not self.process.terminated() def addr(self): - return self._addr + return self._run_node.run_addr() def run_node(self): - return RunNode(RunNode.T_REM_SSH, self._addr, self.remote_user, self._addr) + return self._run_node def run_netns_wait(self, name, popen_args): - if self.setup_runs_locally(): + if self._run_node.is_local(): proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args, env={}) else: proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 3fa282e..a9f7282 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -31,8 +31,6 @@ def on_register_schemas(): resource_schema = { - 'remote_user': schema.STR, - 'addr': schema.IPV4, 'rf_dev_type': schema.STR, 'rf_dev_args': schema.STR, 'num_carriers': schema.UINT, @@ -42,6 +40,8 @@ 'tx_gain': schema.UINT, 'rx_gain': schema.UINT, } + for key, val in RunNode.schema().items(): + resource_schema['run_node.%s' % key] = val schema.register_resource_schema('modem', resource_schema) config_schema = { @@ -78,10 +78,8 @@ METRICSFILE = 'srsue_metrics.csv' def __init__(self, testenv, conf): - self._addr = conf.get('addr', None) - if self._addr is None: - raise log.Error('addr not set') - super().__init__('srsue_%s' % self._addr, conf) + self._run_node = RunNode.from_conf(conf.get('run_node', {})) + super().__init__('srsue_%s' % self.addr(), conf) self.enb = None self.run_dir = None self.config_file = None @@ -99,7 +97,6 @@ self.enable_pcap = False self.num_carriers = 1 self.testenv = testenv - self.remote_user = conf.get('remote_user', None) self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -107,7 +104,7 @@ def cleanup(self): if self.process is None: return - if self.setup_runs_locally(): + if self._run_node.is_local(): return # When using zmq, srsUE is known to hang for a few seconds before # exiting (3 seconds after alarm() watchdog kicks in). We hence need to @@ -126,9 +123,6 @@ except Exception as e: self.log(repr(e)) - def setup_runs_locally(self): - return self.remote_user is None - def netns(self): return "srsue1" @@ -140,7 +134,7 @@ self.enb = enb self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() - if self.setup_runs_locally(): + if self._run_node.is_local(): self.start_locally() else: self.start_remotely() @@ -209,8 +203,8 @@ self.pcap_file = self.run_dir.child(srsUE.PCAPFILE) self.metrics_file = self.run_dir.child(srsUE.METRICSFILE) - if not self.setup_runs_locally(): - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + if not self._run_node.is_local(): + self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(srsUE.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) self.remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) @@ -224,9 +218,9 @@ config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) - metricsfile = self.metrics_file if self.setup_runs_locally() else self.remote_metrics_file - logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file - pcapfile = self.pcap_file if self.setup_runs_locally() else self.remote_pcap_file + metricsfile = self.metrics_file if self._run_node.is_local() else self.remote_metrics_file + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + pcapfile = self.pcap_file if self._run_node.is_local() else self.remote_pcap_file config.overlay(values, dict(ue=dict(metrics_filename=metricsfile, log_filename=logfile, pcap_filename=pcapfile))) @@ -294,7 +288,7 @@ self.dbg(r) f.write(r) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(self.remote_run_dir) @@ -310,13 +304,13 @@ return not self.process.terminated() def addr(self): - return self._addr + return self._run_node.run_addr() def run_node(self): - return RunNode(RunNode.T_REM_SSH, self._addr, self.remote_user, self._addr) + return self._run_node def run_netns_wait(self, name, popen_args): - if self.setup_runs_locally(): + if self._run_node.is_local(): proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args, env={}) else: proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) @@ -344,7 +338,7 @@ # metrics file is not flushed immediatelly by the OS during process # tear down, we need to wait some extra time: MainLoop.sleep(self, 2) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): try: self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) except Exception as e: diff --git a/sysmocom/resources.conf.prod b/sysmocom/resources.conf.prod index ec148f3..e6429a0 100644 --- a/sysmocom/resources.conf.prod +++ b/sysmocom/resources.conf.prod @@ -258,23 +258,29 @@ type: srsue rf_dev_type: zmq rf_dev_args: auto - remote_user: jenkins - addr: 10.42.42.116 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 10.42.42.116 + ssh_user: jenkins + ssh_addr: 10.42.42.116 - label: srsUE-soapy-lms_1 type: srsue rf_dev_type: soapy rf_dev_args: driver=lime,serial=00090706024F0A22,rxant=LNAW,txant=BAND1 - remote_user: jenkins - addr: 10.42.42.116 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 10.42.42.116 + ssh_user: jenkins + ssh_addr: 10.42.42.116 osmocon_phone: - serial_device: '/dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00897B41-if00-port0' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifdea48fed0bfc152131c53b87c34b4514c632917 Gerrit-Change-Number: 18483 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200526/ee8f600a/attachment.htm>