Change in osmo-gsm-tester[master]: enb: Fix non-1st ENB gnubreaker remote address

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/.

pespin gerrit-no-reply at lists.osmocom.org
Fri Oct 23 12:15:59 UTC 2020


pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/20845 )


Change subject: enb: Fix non-1st ENB gnubreaker remote address
......................................................................

enb: Fix non-1st ENB gnubreaker remote address

ENB was using its own address as a remote address when the broker is
used, which actually only holds true for the first ENB (since the broker
is currently run on the same host/address of the first ENB).

Change-Id: I5c83075d140632846c6d357152963754d16b4633
---
M src/osmo_gsm_tester/obj/enb.py
M src/osmo_gsm_tester/obj/gnuradio_zmq_broker.py
2 files changed, 16 insertions(+), 10 deletions(-)



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

diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py
index 3988c35..4558478 100644
--- a/src/osmo_gsm_tester/obj/enb.py
+++ b/src/osmo_gsm_tester/obj/enb.py
@@ -252,7 +252,7 @@
         base_srate = self.num_prb2base_srate(self.num_prb())
 
         if self._use_gr_broker:
-            ul_rem_addr = self.addr()
+            ul_rem_addr = self.gr_broker.addr()
         else:
             ul_rem_addr = self.ue.addr()
 
diff --git a/src/osmo_gsm_tester/obj/gnuradio_zmq_broker.py b/src/osmo_gsm_tester/obj/gnuradio_zmq_broker.py
index 76fb1e5..e80c56d 100644
--- a/src/osmo_gsm_tester/obj/gnuradio_zmq_broker.py
+++ b/src/osmo_gsm_tester/obj/gnuradio_zmq_broker.py
@@ -42,11 +42,11 @@
         self.process = None
         self.ctrl_port = 5005
         self.run_dir = None
+        self._run_node = None
         self.rem_host = None
         self.remote_run_dir = None
         self.remote_tgt_script = None
         self.enb_li = []
-        self.addr = None
         self.ctrl_sk = None
         self.num_enb_started = 0
 
@@ -64,7 +64,6 @@
             GrBroker.instance.cleanup()
             GrBroker.instance = None
 
-
     def cleanup(self):
         if self.ctrl_sk is not None:
             self.cmd_exit()
@@ -74,10 +73,18 @@
         self.testenv = None
 
     def register_enb(self, enb):
+        if len(self.enb_li) == 0:
+            # The gnuradio script is run on the first ENB host/addr.
+            self._run_node = enb._run_node
         self.enb_li.append(enb)
 
     def unregister_enb(self, enb):
         self.enb_li.remove(enb)
+        if len(self.enb_li) == 0:
+            self._run_node = None
+
+    def addr(self):
+        return self._run_node.run_addr()
 
     def gen_json_enb(self, enb):
         res = []
@@ -118,11 +125,10 @@
         return res
 
     def configure(self):
-        self.addr = self.enb_li[0].addr()
         self.testenv = self.enb_li[0].testenv
         self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name()))
-        if not self.enb_li[0]._run_node.is_local():
-            self.rem_host = remote.RemoteHost(self.run_dir, self.enb_li[0]._run_node.ssh_user(), self.enb_li[0]._run_node.ssh_addr())
+        if not self._run_node.is_local():
+            self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr())
             remote_prefix_dir = util.Dir(GrBroker.REMOTE_DIR)
             self.remote_run_dir = util.Dir(remote_prefix_dir.child(self.name()))
             self.remote_tgt_script = os.path.join(str(self.remote_run_dir), GrBroker.TGT_SCRIPT_NAME)
@@ -134,15 +140,15 @@
         self.dbg('start(%d/%d)' % (self.num_enb_started, len(self.enb_li)))
         if self.num_enb_started == 1:
             self.configure()
-            if self.enb_li[0]._run_node.is_local():
+            if self._run_node.is_local():
                 args = (GrBroker.TGT_SCRIPT_LOCAL_PATH,
                         '-c', str(self.ctrl_port),
-                        '-b', self.addr)
+                        '-b', self.addr())
                 self.process = process.Process(self.name(), self.run_dir, args)
             else:
                 args = (self.remote_tgt_script,
                         '-c', str(self.ctrl_port),
-                        '-b', self.addr)
+                        '-b', self.addr())
                 self.process = self.rem_host.RemoteProcessSafeExit(self.name(), self.remote_run_dir, args, wait_time_sec=7)
             self.testenv.remember_to_stop(self.process)
             self.process.launch()
@@ -155,7 +161,7 @@
 
     def send_cmd(self, str_buf):
         self.dbg('sending cmd: "%s"' % str_buf)
-        self.ctrl_sk.sendto(str_buf.encode('utf-8'), (self.addr, self.ctrl_port))
+        self.ctrl_sk.sendto(str_buf.encode('utf-8'), (self.addr(), self.ctrl_port))
 
     def cmd_setup(self):
         cfg = self.gen_json()

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/20845
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Change-Id: I5c83075d140632846c6d357152963754d16b4633
Gerrit-Change-Number: 20845
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201023/f26222d2/attachment.htm>


More information about the gerrit-log mailing list