[PATCH] osmo-gsm-tester[master]: Use unique incrementing value for BTS LAC

2017-11-07 Thread Pau Espin Pedrol
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

2017-11-06 Thread Pau Espin Pedrol

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 Pedrol 
Gerrit-Reviewer: Neels Hofmeyr 


[PATCH] osmo-gsm-tester[master]: Use unique incrementing value for BTS LAC

2017-11-06 Thread Pau Espin Pedrol

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