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
Sun Oct 25 22:27:36 UTC 2020


pespin has submitted this change. ( 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, 14 insertions(+), 10 deletions(-)

Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, approved



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..a22c349 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,11 +73,17 @@
         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)
 
+    def addr(self):
+        return self._run_node.run_addr()
+
     def gen_json_enb(self, enb):
         res = []
         cell_list = enb.gen_conf['enb']['cell_list']
@@ -118,11 +123,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 +138,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 +159,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: 2
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201025/37cb4b25/attachment.htm>


More information about the gerrit-log mailing list