[PATCH] osmo-gsm-tester[master]: bts: Refactor conf_for_bsc_osmo

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.org
Mon May 7 15:03:45 UTC 2018


Review at  https://gerrit.osmocom.org/8059

bts: Refactor conf_for_bsc_osmo

Move duplicated code into a method in the superclass.

Change-Id: Ie27932f94142f667c3fb8c054b77e04afa0d5cbb
---
M src/osmo_gsm_tester/bts_nanobts.py
M src/osmo_gsm_tester/bts_octphy.py
M src/osmo_gsm_tester/bts_osmo.py
M src/osmo_gsm_tester/bts_osmotrx.py
M src/osmo_gsm_tester/bts_sysmo.py
5 files changed, 21 insertions(+), 60 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/59/8059/1

diff --git a/src/osmo_gsm_tester/bts_nanobts.py b/src/osmo_gsm_tester/bts_nanobts.py
index 6350c56..a930442 100644
--- a/src/osmo_gsm_tester/bts_nanobts.py
+++ b/src/osmo_gsm_tester/bts_nanobts.py
@@ -56,21 +56,7 @@
 ########################
 
     def conf_for_bsc(self):
-        values = config.get_defaults('bsc_bts')
-        config.overlay(values, config.get_defaults('nanobts'))
-        if self.lac is not None:
-            config.overlay(values, { 'location_area_code': self.lac })
-        if self.rac is not None:
-            config.overlay(values, { 'routing_area_code': self.rac })
-        if self.cellid is not None:
-            config.overlay(values, { 'cell_identity': self.cellid })
-        if self.bvci is not None:
-            config.overlay(values, { 'bvci': self.bvci })
-        config.overlay(values, self.conf)
-
-        sgsn_conf = {} if self.sgsn is None else self.sgsn.conf_for_client()
-        config.overlay(values, sgsn_conf)
-
+        values = self.conf_for_bsc_osmo('nanobts')
         # Hack until we have proper ARFCN resource allocation support (OS#2230)
         band = values.get('band')
         trx_list = values.get('trx_list')
diff --git a/src/osmo_gsm_tester/bts_octphy.py b/src/osmo_gsm_tester/bts_octphy.py
index f48afcc..70deba3 100644
--- a/src/osmo_gsm_tester/bts_octphy.py
+++ b/src/osmo_gsm_tester/bts_octphy.py
@@ -112,21 +112,7 @@
 # PUBLIC - INTERNAL API
 ########################
     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 })
-        if self.rac is not None:
-            config.overlay(values, { 'routing_area_code': self.rac })
-        if self.cellid is not None:
-            config.overlay(values, { 'cell_identity': self.cellid })
-        if self.bvci is not None:
-            config.overlay(values, { 'bvci': self.bvci })
-        config.overlay(values, self.conf)
-
-        sgsn_conf = {} if self.sgsn is None else self.sgsn.conf_for_client()
-        config.overlay(values, sgsn_conf)
-
+        values = self.conf_for_bsc_osmo('osmo_bts_octphy')
         self.dbg(conf=values)
         return values
 
diff --git a/src/osmo_gsm_tester/bts_osmo.py b/src/osmo_gsm_tester/bts_osmo.py
index be87b9d..d0ba557 100644
--- a/src/osmo_gsm_tester/bts_osmo.py
+++ b/src/osmo_gsm_tester/bts_osmo.py
@@ -35,6 +35,23 @@
         if len(self.pcu_socket_path().encode()) > 107:
             raise log.Error('Path for pcu socket is longer than max allowed len for unix socket path (107):', self.pcu_socket_path())
 
+    def conf_for_bsc_osmo(self, bts_defaults_name):
+        values = config.get_defaults('bsc_bts')
+        config.overlay(values, config.get_defaults(bts_defaults_name))
+        if self.lac is not None:
+            config.overlay(values, { 'location_area_code': self.lac })
+        if self.rac is not None:
+            config.overlay(values, { 'routing_area_code': self.rac })
+        if self.cellid is not None:
+            config.overlay(values, { 'cell_identity': self.cellid })
+        if self.bvci is not None:
+            config.overlay(values, { 'bvci': self.bvci })
+        config.overlay(values, self.conf)
+
+        sgsn_conf = {} if self.sgsn is None else self.sgsn.conf_for_client()
+        config.overlay(values, sgsn_conf)
+        return values
+
 ########################
 # PUBLIC - INTERNAL API
 ########################
diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py
index bd8aedf..f1a9bdf 100644
--- a/src/osmo_gsm_tester/bts_osmotrx.py
+++ b/src/osmo_gsm_tester/bts_osmotrx.py
@@ -92,21 +92,7 @@
 # PUBLIC - INTERNAL API
 ########################
     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 })
-        if self.rac is not None:
-            config.overlay(values, { 'routing_area_code': self.rac })
-        if self.cellid is not None:
-            config.overlay(values, { 'cell_identity': self.cellid })
-        if self.bvci is not None:
-            config.overlay(values, { 'bvci': self.bvci })
-        config.overlay(values, self.conf)
-
-        sgsn_conf = {} if self.sgsn is None else self.sgsn.conf_for_client()
-        config.overlay(values, sgsn_conf)
-
+        values = self.conf_for_bsc_osmo('osmo_bts_trx')
         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 7a41033..c9978e5 100644
--- a/src/osmo_gsm_tester/bts_sysmo.py
+++ b/src/osmo_gsm_tester/bts_sysmo.py
@@ -103,21 +103,7 @@
         return os.path.join(SysmoBts.REMOTE_DIR, 'pcu_bts')
 
     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 })
-        if self.rac is not None:
-            config.overlay(values, { 'routing_area_code': self.rac })
-        if self.cellid is not None:
-            config.overlay(values, { 'cell_identity': self.cellid })
-        if self.bvci is not None:
-            config.overlay(values, { 'bvci': self.bvci })
-        config.overlay(values, self.conf)
-
-        sgsn_conf = {} if self.sgsn is None else self.sgsn.conf_for_client()
-        config.overlay(values, sgsn_conf)
-
+        values = self.conf_for_bsc_osmo('osmo_bts_sysmo')
         self.dbg(conf=values)
         return values
 

-- 
To view, visit https://gerrit.osmocom.org/8059
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie27932f94142f667c3fb8c054b77e04afa0d5cbb
Gerrit-PatchSet: 1
Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>



More information about the gerrit-log mailing list