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: OsmoNitb: Introduce bts_is_connected API ...................................................................... OsmoNitb: Introduce bts_is_connected API This can be used by tests to wait until bts is successfully connected to NITB. Change-Id: Idb9b7087e38f638d8b8acbad6dd8ab4218746832 --- M src/osmo_gsm_tester/osmo_nitb.py 1 file changed, 27 insertions(+), 0 deletions(-) Approvals: Neels Hofmeyr: 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/osmo_nitb.py b/src/osmo_gsm_tester/osmo_nitb.py index 6dd7342..48037a6 100644 --- a/src/osmo_gsm_tester/osmo_nitb.py +++ b/src/osmo_gsm_tester/osmo_nitb.py @@ -114,6 +114,13 @@ def mcc_mnc(self): return (self.mcc(), self.mnc()) + def bts_num(self, bts): + 'Provide number id used by OsmoNITB to identify configured BTS' + # We take advantage from the fact that VTY code assigns VTY in ascending + # order through the bts nodes found. As we populate the config iterating + # over this list, we have a 1:1 match in indexes. + return self.bts.index(bts) + def subscriber_add(self, modem, msisdn=None, algo=None): if msisdn is None: msisdn = self.suite_run.resources_pool.next_msisdn(modem) @@ -148,6 +155,9 @@ def imsi_list_attached(self): return OsmoNitbCtrl(self).subscriber_list_active() + def bts_is_connected(self, bts): + return OsmoNitbCtrl(self).bts_is_connected(self.bts_num(bts)) + def running(self): return not self.process.terminated() @@ -159,6 +169,8 @@ SUBSCR_DELETE_VAR = 'subscriber-delete-v1' SUBSCR_DELETE_REPLY_RE = re.compile("SET_REPLY (\d+) %s Removed" % SUBSCR_DELETE_VAR) SUBSCR_LIST_ACTIVE_VAR = 'subscriber-list-active-v1' + BTS_OML_STATE_VAR = "bts.%d.oml-connection-state" + BTS_OML_STATE_RE = re.compile("GET_REPLY (\d+) bts.\d+.oml-connection-state (?P<oml_state>\w+)") def __init__(self, nitb): self.nitb = nitb @@ -210,4 +222,19 @@ aslist_str = answer_str return aslist_str + def bts_is_connected(self, bts_num): + with self.ctrl() as ctrl: + ctrl.do_get(OsmoNitbCtrl.BTS_OML_STATE_VAR % bts_num) + data = ctrl.receive() + while (len(data) > 0): + (answer, data) = ctrl.remove_ipa_ctrl_header(data) + answer_str = answer.decode('utf-8') + answer_str = answer_str.replace('\n', ' ') + res = OsmoNitbCtrl.BTS_OML_STATE_RE.match(answer_str) + if res: + oml_state = str(res.group('oml_state')) + if oml_state == 'connected': + return True + return False + # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/5274 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Idb9b7087e38f638d8b8acbad6dd8ab4218746832 Gerrit-PatchSet: 2 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>