Pau Espin Pedrol has submitted this change and it was merged. Change subject: Use unique incrementing value for BTS LAC ......................................................................
Use unique incrementing value for BTS LAC Change-Id: I9f864bac05e39ec2fc305f774194799c3d8fe1b0 --- M example/defaults.conf 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/resource.py M src/osmo_gsm_tester/schema.py M src/osmo_gsm_tester/suite.py 7 files changed, 33 insertions(+), 1 deletion(-) Approvals: Neels Hofmeyr: Looks good to me, approved Jenkins Builder: Verified diff --git a/example/defaults.conf b/example/defaults.conf index e2921a4..d555ab0 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -28,7 +28,6 @@ authentication: optional bsc_bts: - location_area_code: 23 base_station_id_code: 63 stream_id: 255 osmobsc_bts_type: sysmobts diff --git a/src/osmo_gsm_tester/bts_octphy.py b/src/osmo_gsm_tester/bts_octphy.py index ae2e249..eb1092c 100644 --- a/src/osmo_gsm_tester/bts_octphy.py +++ b/src/osmo_gsm_tester/bts_octphy.py @@ -30,6 +30,7 @@ env = None pcu_sk_tmp_dir = None values = None + lac = None BIN_BTS_OCTPHY = 'osmo-bts-octphy' @@ -158,6 +159,8 @@ def conf_for_bsc(self): values = config.get_defaults('bsc_bts') config.overlay(values, config.get_defaults('osmo_bts_octphy')) + if self.lac is not None: + config.overlay(values, { 'location_area_code': self.lac }) config.overlay(values, self.conf) self.dbg(conf=values) return values @@ -165,4 +168,7 @@ def set_bsc(self, bsc): self.bsc = bsc + def set_lac(self, lac): + self.lac = lac + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index f53b8a3..731daa5 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -30,6 +30,7 @@ env = None trx = None pcu_sk_tmp_dir = None + lac = None BIN_BTS_TRX = 'osmo-bts-trx' BIN_PCU = 'osmo-pcu' @@ -136,6 +137,8 @@ def conf_for_bsc(self): values = config.get_defaults('bsc_bts') config.overlay(values, config.get_defaults('osmo_bts_trx')) + if self.lac is not None: + config.overlay(values, { 'location_area_code': self.lac }) config.overlay(values, self.conf) self.dbg(conf=values) return values @@ -143,6 +146,9 @@ def set_bsc(self, bsc): self.bsc = bsc + def set_lac(self, lac): + self.lac = lac + class OsmoTrx(log.Origin): suite_run = None run_dir = None diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/bts_sysmo.py index e8ac7c2..03dc97e 100644 --- a/src/osmo_gsm_tester/bts_sysmo.py +++ b/src/osmo_gsm_tester/bts_sysmo.py @@ -29,6 +29,7 @@ remote_inst = None remote_env = None remote_dir = None + lac = None REMOTE_DIR = '/osmo-gsm-tester' BTS_SYSMO_BIN = 'osmo-bts-sysmo' @@ -143,6 +144,8 @@ 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 }) config.overlay(values, self.conf) self.dbg(conf=values) return values @@ -150,4 +153,7 @@ def set_bsc(self, bsc): self.bsc = bsc + def set_lac(self, lac): + self.lac = lac + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index ecafa2f..9571131 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -210,6 +210,8 @@ def next_msisdn(self, origin): return self.next_persistent_value('msisdn', '1000', schema.msisdn, util.msisdn_inc, origin) + def next_lac(self, origin): + return self.next_persistent_value('lac', '1', schema.uint16, lambda x: str((int(x)+1) % pow(2,16)), origin) class NoResourceExn(log.Error): pass diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py index 9b142d3..a78bc63 100644 --- a/src/osmo_gsm_tester/schema.py +++ b/src/osmo_gsm_tester/schema.py @@ -71,6 +71,13 @@ if n < 0: raise ValueError('Positive value expected instead of %d' % n) +def uint16(val): + n = int(val) + if n < 0: + raise ValueError('Positive value expected instead of %d' % n) + if n > 65535: # 2^16 - 1 + raise ValueError('Value %d too big, max value is 65535' % n) + def times(val): n = int(val) if n < 1: diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 28bdd69..9f9421e 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -344,6 +344,7 @@ def bts(self, specifics=None): bts = bts_obj(self, self.reserved_resources.get(resource.R_BTS, specifics=specifics)) + bts.set_lac(self.lac()) self.register_for_cleanup(bts) return bts @@ -370,6 +371,11 @@ self.log('using MSISDN', msisdn) return msisdn + def lac(self): + lac = self.resources_pool.next_lac(self) + self.log('using LAC', lac) + return lac + def poll(self): if self._processes: for process in self._processes: -- To view, visit https://gerrit.osmocom.org/4704 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I9f864bac05e39ec2fc305f774194799c3d8fe1b0 Gerrit-PatchSet: 4 Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol <pes...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr <nhofm...@sysmocom.de> Gerrit-Reviewer: Pau Espin Pedrol <pes...@sysmocom.de>