Use unique incrementing value for BTS CellId
Change-Id: If4559b945a3e71f3a36fd7ac760cb094278f6b39
diff --git a/selftest/template_test.ok b/selftest/template_test.ok
index 5bd32a4..dcfacc2 100644
--- a/selftest/template_test.ok
+++ b/selftest/template_test.ok
@@ -38,7 +38,7 @@
bts 0
type val_type_bts0
band val_band_bts0
- cell_identity 0
+ cell_identity val_bts.cell_identity_bts0
location_area_code val_bts.location_area_code_bts0
training_sequence_code 7
base_station_id_code val_bts.base_station_id_code_bts0
@@ -82,7 +82,7 @@
bts 1
type val_type_bts1
band val_band_bts1
- cell_identity 0
+ cell_identity val_bts.cell_identity_bts1
location_area_code val_bts.location_area_code_bts1
training_sequence_code 7
base_station_id_code val_bts.base_station_id_code_bts1
diff --git a/selftest/template_test.py b/selftest/template_test.py
index 769df49..0c83632 100755
--- a/selftest/template_test.py
+++ b/selftest/template_test.py
@@ -22,6 +22,7 @@
'osmobsc_bts_type': 'val_type',
'band': 'val_band',
'location_area_code': 'val_bts.location_area_code',
+ 'cell_identity': 'val_bts.cell_identity',
'base_station_id_code': 'val_bts.base_station_id_code',
'ipa_unit_id': 'val_bts.unit_id',
'stream_id': 'val_bts.stream_id',
diff --git a/selftest/template_test/osmo-nitb.cfg.tmpl b/selftest/template_test/osmo-nitb.cfg.tmpl
index 2559b14..f1508ec 100644
--- a/selftest/template_test/osmo-nitb.cfg.tmpl
+++ b/selftest/template_test/osmo-nitb.cfg.tmpl
@@ -54,7 +54,7 @@
bts ${loop.index}
type ${bts.type}
band ${bts.band}
- cell_identity 0
+ cell_identity ${bts.cell_identity}
location_area_code ${bts.location_area_code}
training_sequence_code 7
base_station_id_code ${bts.base_station_id_code}
diff --git a/src/osmo_gsm_tester/bts_octphy.py b/src/osmo_gsm_tester/bts_octphy.py
index eb1092c..bc93a3a 100644
--- a/src/osmo_gsm_tester/bts_octphy.py
+++ b/src/osmo_gsm_tester/bts_octphy.py
@@ -31,6 +31,7 @@
pcu_sk_tmp_dir = None
values = None
lac = None
+ cellid = None
BIN_BTS_OCTPHY = 'osmo-bts-octphy'
@@ -161,6 +162,8 @@
config.overlay(values, config.get_defaults('osmo_bts_octphy'))
if self.lac is not None:
config.overlay(values, { 'location_area_code': self.lac })
+ if self.cellid is not None:
+ config.overlay(values, { 'cell_identity': self.cellid })
config.overlay(values, self.conf)
self.dbg(conf=values)
return values
@@ -171,4 +174,7 @@
def set_lac(self, lac):
self.lac = lac
+ def set_cellid(self, cellid):
+ self.cellid = cellid
+
# 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 731daa5..a964169 100644
--- a/src/osmo_gsm_tester/bts_osmotrx.py
+++ b/src/osmo_gsm_tester/bts_osmotrx.py
@@ -31,6 +31,7 @@
trx = None
pcu_sk_tmp_dir = None
lac = None
+ cellid = None
BIN_BTS_TRX = 'osmo-bts-trx'
BIN_PCU = 'osmo-pcu'
@@ -139,6 +140,8 @@
config.overlay(values, config.get_defaults('osmo_bts_trx'))
if self.lac is not None:
config.overlay(values, { 'location_area_code': self.lac })
+ if self.cellid is not None:
+ config.overlay(values, { 'cell_identity': self.cellid })
config.overlay(values, self.conf)
self.dbg(conf=values)
return values
@@ -149,6 +152,9 @@
def set_lac(self, lac):
self.lac = lac
+ def set_cellid(self, cellid):
+ self.cellid = cellid
+
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 03dc97e..fc546ae 100644
--- a/src/osmo_gsm_tester/bts_sysmo.py
+++ b/src/osmo_gsm_tester/bts_sysmo.py
@@ -30,6 +30,7 @@
remote_env = None
remote_dir = None
lac = None
+ cellid = None
REMOTE_DIR = '/osmo-gsm-tester'
BTS_SYSMO_BIN = 'osmo-bts-sysmo'
@@ -146,6 +147,8 @@
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.cellid is not None:
+ config.overlay(values, { 'cell_identity': self.cellid })
config.overlay(values, self.conf)
self.dbg(conf=values)
return values
@@ -156,4 +159,7 @@
def set_lac(self, lac):
self.lac = lac
+ def set_cellid(self, cellid):
+ self.cellid = cellid
+
# vim: expandtab tabstop=4 shiftwidth=4
diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py
index 9571131..1bacd38 100644
--- a/src/osmo_gsm_tester/resource.py
+++ b/src/osmo_gsm_tester/resource.py
@@ -213,6 +213,9 @@
def next_lac(self, origin):
return self.next_persistent_value('lac', '1', schema.uint16, lambda x: str((int(x)+1) % pow(2,16)), origin)
+ def next_cellid(self, origin):
+ return self.next_persistent_value('cellid', '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/suite.py b/src/osmo_gsm_tester/suite.py
index 9f9421e..fc4930d 100644
--- a/src/osmo_gsm_tester/suite.py
+++ b/src/osmo_gsm_tester/suite.py
@@ -345,6 +345,7 @@
def bts(self, specifics=None):
bts = bts_obj(self, self.reserved_resources.get(resource.R_BTS, specifics=specifics))
bts.set_lac(self.lac())
+ bts.set_cellid(self.cellid())
self.register_for_cleanup(bts)
return bts
@@ -376,6 +377,11 @@
self.log('using LAC', lac)
return lac
+ def cellid(self):
+ cellid = self.resources_pool.next_cellid(self)
+ self.log('using CellId', cellid)
+ return cellid
+
def poll(self):
if self._processes:
for process in self._processes:
diff --git a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl
index 14aa62d..d79bb2b 100644
--- a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl
@@ -44,7 +44,7 @@
bts ${loop.index}
type ${bts.osmobsc_bts_type}
band ${bts.band}
- cell_identity 0
+ cell_identity ${bts.cell_identity}
location_area_code ${bts.location_area_code}
training_sequence_code 7
base_station_id_code ${bts.base_station_id_code}
diff --git a/src/osmo_gsm_tester/templates/osmo-nitb.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-nitb.cfg.tmpl
index fbafc8e..803a375 100644
--- a/src/osmo_gsm_tester/templates/osmo-nitb.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/osmo-nitb.cfg.tmpl
@@ -37,7 +37,7 @@
bts ${loop.index}
type ${bts.osmobsc_bts_type}
band ${bts.band}
- cell_identity 0
+ cell_identity ${bts.cell_identity}
location_area_code ${bts.location_area_code}
training_sequence_code 7
base_station_id_code ${bts.base_station_id_code}