[PATCH] osmo-gsm-tester[master]: Use unique incrementing value for BTS LAC
Hello Neels Hofmeyr, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/4704 to look at the new patch set (#3). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/04/4704/3 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 =
[PATCH] osmo-gsm-tester[master]: 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, 23 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/04/4704/2 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..7fa58a5 100644 --- a/src/osmo_gsm_tester/bts_octphy.py +++ b/src/osmo_gsm_tester/bts_octphy.py @@ -158,6 +158,9 @@ def conf_for_bsc(self): values = config.get_defaults('bsc_bts') config.overlay(values, config.get_defaults('osmo_bts_octphy')) +config.overlay(values, { +'location_area_code': self.suite_run.lac(), +}) config.overlay(values, self.conf) self.dbg(conf=values) return values diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index f53b8a3..3aa39b1 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -136,6 +136,9 @@ def conf_for_bsc(self): values = config.get_defaults('bsc_bts') config.overlay(values, config.get_defaults('osmo_bts_trx')) +config.overlay(values, { +'location_area_code': self.suite_run.lac(), +}) config.overlay(values, self.conf) self.dbg(conf=values) return values diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/bts_sysmo.py index e8ac7c2..69c5610 100644 --- a/src/osmo_gsm_tester/bts_sysmo.py +++ b/src/osmo_gsm_tester/bts_sysmo.py @@ -143,6 +143,9 @@ def conf_for_bsc(self): values = config.get_defaults('bsc_bts') config.overlay(values, config.get_defaults('osmo_bts_sysmo')) +config.overlay(values, { +'location_area_code': self.suite_run.lac(), +}) config.overlay(values, self.conf) self.dbg(conf=values) return values diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 278fe4f..b33ec29 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -211,6 +211,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..f74699f 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 >= pow(2,16): +raise ValueError('Value %d too big, max value is %d' % (n, pow(2,16)-1)) + 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..3800d5e 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -370,6 +370,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: newpatchset Gerrit-Change-Id: I9f864bac05e39ec2fc305f774194799c3d8fe1b0 Gerrit-PatchSet: 2 Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Owner: Pau Espin PedrolGerrit-Reviewer: Neels Hofmeyr
[PATCH] osmo-gsm-tester[master]: Use unique incrementing value for BTS LAC
Review at https://gerrit.osmocom.org/4704 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, 24 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/04/4704/1 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..7fa58a5 100644 --- a/src/osmo_gsm_tester/bts_octphy.py +++ b/src/osmo_gsm_tester/bts_octphy.py @@ -158,6 +158,9 @@ def conf_for_bsc(self): values = config.get_defaults('bsc_bts') config.overlay(values, config.get_defaults('osmo_bts_octphy')) +config.overlay(values, { +'location_area_code': self.suite_run.lac(), +}) config.overlay(values, self.conf) self.dbg(conf=values) return values diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index f53b8a3..3aa39b1 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -136,6 +136,9 @@ def conf_for_bsc(self): values = config.get_defaults('bsc_bts') config.overlay(values, config.get_defaults('osmo_bts_trx')) +config.overlay(values, { +'location_area_code': self.suite_run.lac(), +}) config.overlay(values, self.conf) self.dbg(conf=values) return values diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/bts_sysmo.py index e8ac7c2..69c5610 100644 --- a/src/osmo_gsm_tester/bts_sysmo.py +++ b/src/osmo_gsm_tester/bts_sysmo.py @@ -143,6 +143,9 @@ def conf_for_bsc(self): values = config.get_defaults('bsc_bts') config.overlay(values, config.get_defaults('osmo_bts_sysmo')) +config.overlay(values, { +'location_area_code': self.suite_run.lac(), +}) config.overlay(values, self.conf) self.dbg(conf=values) return values diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 278fe4f..3b65f09 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -22,6 +22,7 @@ import copy import atexit import pprint +import math from . import log from . import config @@ -211,6 +212,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((int(x)+1) % math.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..21193ed 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: +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..3800d5e 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -370,6 +370,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: newchange Gerrit-Change-Id: I9f864bac05e39ec2fc305f774194799c3d8fe1b0 Gerrit-PatchSet: 1 Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol