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.orgPau Espin Pedrol has submitted this change and it was merged. Change subject: cosmetic: bts_sysmo: Sort members according to scope ...................................................................... cosmetic: bts_sysmo: Sort members according to scope Change-Id: Ifc19b34660cc8d20b8db2dcf245eeb2173cd7a6a --- M src/osmo_gsm_tester/bts_sysmo.py 1 file changed, 89 insertions(+), 80 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Harald Welte: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/bts_sysmo.py index d286d02..7a41033 100644 --- a/src/osmo_gsm_tester/bts_sysmo.py +++ b/src/osmo_gsm_tester/bts_sysmo.py @@ -22,6 +22,9 @@ from . import log, config, util, template, process, pcu_sysmo, bts_osmo class SysmoBts(bts_osmo.OsmoBts): +############## +# PROTECTED +############## run_dir = None inst = None remote_inst = None @@ -35,6 +38,92 @@ super().__init__(suite_run, conf, SysmoBts.BTS_SYSMO_BIN) self.remote_user = 'root' + def _direct_pcu_enabled(self): + return util.str2bool(self.conf.get('direct_pcu')) + + 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_user, self.remote_addr(), remote_cwd, + popen_args) + + def run_remote(self, name, popen_args, remote_cwd=None): + proc = self._process_remote(name, popen_args, remote_cwd) + proc.launch() + proc.wait() + if proc.result != 0: + log.ctx(proc) + raise log.Error('Exited in error') + + def launch_remote(self, name, popen_args, remote_cwd=None): + 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) + proc = process.Process(name, run_dir, popen_args) + proc.launch() + proc.wait() + if proc.result != 0: + log.ctx(proc) + raise log.Error('Exited in error') + + def create_pcu(self): + return pcu_sysmo.OsmoPcuSysmo(self.suite_run, self, self.conf) + + def configure(self): + if self.bsc is None: + raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be configured') + + self.config_file = self.run_dir.new_file(SysmoBts.BTS_SYSMO_CFG) + self.dbg(config_file=self.config_file) + + values = { 'osmo_bts_sysmo': config.get_defaults('osmo_bts_sysmo') } + config.overlay(values, self.suite_run.config()) + config.overlay(values, { + 'osmo_bts_sysmo': { + 'oml_remote_ip': self.bsc.addr(), + 'pcu_socket_path': self.pcu_socket_path(), + } + }) + config.overlay(values, { 'osmo_bts_sysmo': self.conf }) + + self.dbg('SYSMOBTS CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(SysmoBts.BTS_SYSMO_CFG, values) + self.dbg(r) + f.write(r) + +######################## +# PUBLIC - INTERNAL API +######################## + def pcu_socket_path(self): + return os.path.join(SysmoBts.REMOTE_DIR, 'pcu_bts') + + def conf_for_bsc(self): + values = config.get_defaults('bsc_bts') + config.overlay(values, config.get_defaults('osmo_bts_sysmo')) + if self.lac is not None: + config.overlay(values, { 'location_area_code': self.lac }) + if self.rac is not None: + config.overlay(values, { 'routing_area_code': self.rac }) + if self.cellid is not None: + config.overlay(values, { 'cell_identity': self.cellid }) + if self.bvci is not None: + config.overlay(values, { 'bvci': self.bvci }) + config.overlay(values, self.conf) + + sgsn_conf = {} if self.sgsn is None else self.sgsn.conf_for_client() + config.overlay(values, sgsn_conf) + + self.dbg(conf=values) + return values + +################### +# PUBLIC (test API included) +################### def start(self): if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') @@ -77,85 +166,5 @@ args += ('-M',) self.proc_bts = self.launch_remote('osmo-bts-sysmo', args, remote_cwd=remote_run_dir) - - def _direct_pcu_enabled(self): - return util.str2bool(self.conf.get('direct_pcu')) - - 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_user, self.remote_addr(), remote_cwd, - popen_args) - - def run_remote(self, name, popen_args, remote_cwd=None): - proc = self._process_remote(name, popen_args, remote_cwd) - proc.launch() - proc.wait() - if proc.result != 0: - log.ctx(proc) - raise log.Error('Exited in error') - - def launch_remote(self, name, popen_args, remote_cwd=None): - 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) - proc = process.Process(name, run_dir, popen_args) - proc.launch() - proc.wait() - if proc.result != 0: - log.ctx(proc) - raise log.Error('Exited in error') - - def create_pcu(self): - return pcu_sysmo.OsmoPcuSysmo(self.suite_run, self, self.conf) - - def pcu_socket_path(self): - return os.path.join(SysmoBts.REMOTE_DIR, 'pcu_bts') - - def configure(self): - if self.bsc is None: - raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be configured') - - self.config_file = self.run_dir.new_file(SysmoBts.BTS_SYSMO_CFG) - self.dbg(config_file=self.config_file) - - values = { 'osmo_bts_sysmo': config.get_defaults('osmo_bts_sysmo') } - config.overlay(values, self.suite_run.config()) - config.overlay(values, { - 'osmo_bts_sysmo': { - 'oml_remote_ip': self.bsc.addr(), - 'pcu_socket_path': self.pcu_socket_path(), - } - }) - config.overlay(values, { 'osmo_bts_sysmo': self.conf }) - - self.dbg('SYSMOBTS CONFIG:\n' + pprint.pformat(values)) - - with open(self.config_file, 'w') as f: - r = template.render(SysmoBts.BTS_SYSMO_CFG, values) - self.dbg(r) - f.write(r) - - def conf_for_bsc(self): - values = config.get_defaults('bsc_bts') - config.overlay(values, config.get_defaults('osmo_bts_sysmo')) - if self.lac is not None: - config.overlay(values, { 'location_area_code': self.lac }) - if self.rac is not None: - config.overlay(values, { 'routing_area_code': self.rac }) - if self.cellid is not None: - config.overlay(values, { 'cell_identity': self.cellid }) - if self.bvci is not None: - config.overlay(values, { 'bvci': self.bvci }) - config.overlay(values, self.conf) - - sgsn_conf = {} if self.sgsn is None else self.sgsn.conf_for_client() - config.overlay(values, sgsn_conf) - - self.dbg(conf=values) - return values # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/5372 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ifc19b34660cc8d20b8db2dcf245eeb2173cd7a6a Gerrit-PatchSet: 1 Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>