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.orgReview at https://gerrit.osmocom.org/5067 bts_*: Add ready_for_pcu API This is required to start osmo-pcu after osmo-bts is already setup and activated. Otherwise osmo-pcu ends after connecting to socket with: "pcu_l1_if.cpp:416 BTS not available" Change-Id: I7209589f60bda63094336e417638906be5e273c4 --- M src/osmo_gsm_tester/bts_octphy.py M src/osmo_gsm_tester/bts_osmotrx.py M src/osmo_gsm_tester/bts_sysmo.py M src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl 6 files changed, 32 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/67/5067/1 diff --git a/src/osmo_gsm_tester/bts_octphy.py b/src/osmo_gsm_tester/bts_octphy.py index bc93a3a..d9ffd6e 100644 --- a/src/osmo_gsm_tester/bts_octphy.py +++ b/src/osmo_gsm_tester/bts_octphy.py @@ -32,6 +32,7 @@ values = None lac = None cellid = None + proc_bts = None BIN_BTS_OCTPHY = 'osmo-bts-octphy' @@ -83,10 +84,9 @@ self.log('Applying CAP_NET_RAW capability to', OsmoBtsOctphy.BIN_BTS_OCTPHY) util.setcap_net_raw(btsoct_path, self.run_dir.new_dir('setcap_net_raw')) - self.launch_process(OsmoBtsOctphy.BIN_BTS_OCTPHY, '-r', '1', + self.proc_bts = self.launch_process(OsmoBtsOctphy.BIN_BTS_OCTPHY, '-r', '1', '-c', os.path.abspath(self.config_file), '-i', self.bsc.addr(), '-t', str(self.num_trx())) - #self.launch_process(OsmoBtsOctphy.BIN_PCU, '-r', '1') self.suite_run.poll() def launch_process(self, binary_name, *args): @@ -168,6 +168,11 @@ self.dbg(conf=values) return values + def ready_for_pcu(self): + if not self.proc_bts or not self.proc_bts.is_running: + return False + return 'BTS is up' in (self.proc_bts.get_stderr() or '') + def set_bsc(self, bsc): self.bsc = bsc diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index a964169..d30c1ee 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -32,6 +32,7 @@ pcu_sk_tmp_dir = None lac = None cellid = None + proc_bts = None BIN_BTS_TRX = 'osmo-bts-trx' BIN_PCU = 'osmo-pcu' @@ -92,10 +93,9 @@ raise RuntimeError('No lib/ in %r' % self.inst) self.env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } - self.launch_process(OsmoBtsTrx.BIN_BTS_TRX, '-r', '1', + self.proc_bts = self.launch_process(OsmoBtsTrx.BIN_BTS_TRX, '-r', '1', '-c', os.path.abspath(self.config_file), '-i', self.bsc.addr()) - #self.launch_process(OsmoBtsTrx.BIN_PCU, '-r', '1') self.suite_run.poll() def launch_process(self, binary_name, *args): @@ -146,6 +146,11 @@ self.dbg(conf=values) return values + def ready_for_pcu(self): + if not self.proc_bts or not self.proc_bts.is_running: + return False + return 'BTS is up' in (self.proc_bts.get_stderr() or '') + def set_bsc(self, bsc): self.bsc = bsc diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/bts_sysmo.py index fc546ae..1a7b139 100644 --- a/src/osmo_gsm_tester/bts_sysmo.py +++ b/src/osmo_gsm_tester/bts_sysmo.py @@ -31,6 +31,7 @@ remote_dir = None lac = None cellid = None + proc_bts = None REMOTE_DIR = '/osmo-gsm-tester' BTS_SYSMO_BIN = 'osmo-bts-sysmo' @@ -76,11 +77,11 @@ remote_lib = self.remote_inst.child('lib') remote_binary = self.remote_inst.child('bin', 'osmo-bts-sysmo') - self.launch_remote('osmo-bts-sysmo', - ('LD_LIBRARY_PATH=%s' % remote_lib, - remote_binary, '-c', remote_config_file, '-r', '1', - '-i', self.bsc.addr()), - remote_cwd=remote_run_dir) + self.proc_bts = self.launch_remote('osmo-bts-sysmo', + ('LD_LIBRARY_PATH=%s' % remote_lib, + remote_binary, '-c', remote_config_file, '-r', '1', + '-i', self.bsc.addr()), + remote_cwd=remote_run_dir) def cleanup(self): pass @@ -105,6 +106,7 @@ proc = self._process_remote(name, popen_args, remote_cwd) self.suite_run.remember_to_stop(proc) proc.launch() + return proc def run_local(self, name, popen_args): run_dir = self.run_dir.new_dir(name) @@ -153,6 +155,11 @@ self.dbg(conf=values) return values + def ready_for_pcu(self): + if not self.proc_bts or not self.proc_bts.is_running: + return False + return 'BTS is up' in (self.proc_bts.get_stderr() or '') + def set_bsc(self, bsc): self.bsc = bsc diff --git a/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl index 13cdb1d..906e7b9 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl @@ -9,6 +9,8 @@ logging level rll debug logging level rr debug logging level rsl debug + ! Level required by ready_for_pcu(): pcu info + logging level pcu info ! %for phy in osmo_bts_octphy.phy_list: diff --git a/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl index 69f7ac1..c9dde86 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl @@ -9,6 +9,8 @@ logging level rll debug logging level rr debug logging level rsl debug + ! Level required by ready_for_pcu(): pcu info + logging level pcu info ! phy 0 instance 0 diff --git a/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl index c316e62..1931e9b 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl @@ -12,6 +12,8 @@ logging level l1c info logging level l1p error logging level trx info + ! Level required by ready_for_pcu(): pcu info + logging level pcu info ! phy 0 osmotrx ip local ${osmo_bts_trx.trx_local_ip} -- To view, visit https://gerrit.osmocom.org/5067 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7209589f60bda63094336e417638906be5e273c4 Gerrit-PatchSet: 1 Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>