<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/20845">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">enb: Fix non-1st ENB gnubreaker remote address<br><br>ENB was using its own address as a remote address when the broker is<br>used, which actually only holds true for the first ENB (since the broker<br>is currently run on the same host/address of the first ENB).<br><br>Change-Id: I5c83075d140632846c6d357152963754d16b4633<br>---<br>M src/osmo_gsm_tester/obj/enb.py<br>M src/osmo_gsm_tester/obj/gnuradio_zmq_broker.py<br>2 files changed, 14 insertions(+), 10 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py</span><br><span>index 3988c35..4558478 100644</span><br><span>--- a/src/osmo_gsm_tester/obj/enb.py</span><br><span>+++ b/src/osmo_gsm_tester/obj/enb.py</span><br><span>@@ -252,7 +252,7 @@</span><br><span>         base_srate = self.num_prb2base_srate(self.num_prb())</span><br><span> </span><br><span>         if self._use_gr_broker:</span><br><span style="color: hsl(0, 100%, 40%);">-            ul_rem_addr = self.addr()</span><br><span style="color: hsl(120, 100%, 40%);">+            ul_rem_addr = self.gr_broker.addr()</span><br><span>         else:</span><br><span>             ul_rem_addr = self.ue.addr()</span><br><span> </span><br><span>diff --git a/src/osmo_gsm_tester/obj/gnuradio_zmq_broker.py b/src/osmo_gsm_tester/obj/gnuradio_zmq_broker.py</span><br><span>index 76fb1e5..a22c349 100644</span><br><span>--- a/src/osmo_gsm_tester/obj/gnuradio_zmq_broker.py</span><br><span>+++ b/src/osmo_gsm_tester/obj/gnuradio_zmq_broker.py</span><br><span>@@ -42,11 +42,11 @@</span><br><span>         self.process = None</span><br><span>         self.ctrl_port = 5005</span><br><span>         self.run_dir = None</span><br><span style="color: hsl(120, 100%, 40%);">+        self._run_node = None</span><br><span>         self.rem_host = None</span><br><span>         self.remote_run_dir = None</span><br><span>         self.remote_tgt_script = None</span><br><span>         self.enb_li = []</span><br><span style="color: hsl(0, 100%, 40%);">-        self.addr = None</span><br><span>         self.ctrl_sk = None</span><br><span>         self.num_enb_started = 0</span><br><span> </span><br><span>@@ -64,7 +64,6 @@</span><br><span>             GrBroker.instance.cleanup()</span><br><span>             GrBroker.instance = None</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>     def cleanup(self):</span><br><span>         if self.ctrl_sk is not None:</span><br><span>             self.cmd_exit()</span><br><span>@@ -74,11 +73,17 @@</span><br><span>         self.testenv = None</span><br><span> </span><br><span>     def register_enb(self, enb):</span><br><span style="color: hsl(120, 100%, 40%);">+        if len(self.enb_li) == 0:</span><br><span style="color: hsl(120, 100%, 40%);">+            # The gnuradio script is run on the first ENB host/addr.</span><br><span style="color: hsl(120, 100%, 40%);">+            self._run_node = enb._run_node</span><br><span>         self.enb_li.append(enb)</span><br><span> </span><br><span>     def unregister_enb(self, enb):</span><br><span>         self.enb_li.remove(enb)</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def addr(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        return self._run_node.run_addr()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     def gen_json_enb(self, enb):</span><br><span>         res = []</span><br><span>         cell_list = enb.gen_conf['enb']['cell_list']</span><br><span>@@ -118,11 +123,10 @@</span><br><span>         return res</span><br><span> </span><br><span>     def configure(self):</span><br><span style="color: hsl(0, 100%, 40%);">-        self.addr = self.enb_li[0].addr()</span><br><span>         self.testenv = self.enb_li[0].testenv</span><br><span>         self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name()))</span><br><span style="color: hsl(0, 100%, 40%);">-        if not self.enb_li[0]._run_node.is_local():</span><br><span style="color: hsl(0, 100%, 40%);">-            self.rem_host = remote.RemoteHost(self.run_dir, self.enb_li[0]._run_node.ssh_user(), self.enb_li[0]._run_node.ssh_addr())</span><br><span style="color: hsl(120, 100%, 40%);">+        if not self._run_node.is_local():</span><br><span style="color: hsl(120, 100%, 40%);">+            self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr())</span><br><span>             remote_prefix_dir = util.Dir(GrBroker.REMOTE_DIR)</span><br><span>             self.remote_run_dir = util.Dir(remote_prefix_dir.child(self.name()))</span><br><span>             self.remote_tgt_script = os.path.join(str(self.remote_run_dir), GrBroker.TGT_SCRIPT_NAME)</span><br><span>@@ -134,15 +138,15 @@</span><br><span>         self.dbg('start(%d/%d)' % (self.num_enb_started, len(self.enb_li)))</span><br><span>         if self.num_enb_started == 1:</span><br><span>             self.configure()</span><br><span style="color: hsl(0, 100%, 40%);">-            if self.enb_li[0]._run_node.is_local():</span><br><span style="color: hsl(120, 100%, 40%);">+            if self._run_node.is_local():</span><br><span>                 args = (GrBroker.TGT_SCRIPT_LOCAL_PATH,</span><br><span>                         '-c', str(self.ctrl_port),</span><br><span style="color: hsl(0, 100%, 40%);">-                        '-b', self.addr)</span><br><span style="color: hsl(120, 100%, 40%);">+                        '-b', self.addr())</span><br><span>                 self.process = process.Process(self.name(), self.run_dir, args)</span><br><span>             else:</span><br><span>                 args = (self.remote_tgt_script,</span><br><span>                         '-c', str(self.ctrl_port),</span><br><span style="color: hsl(0, 100%, 40%);">-                        '-b', self.addr)</span><br><span style="color: hsl(120, 100%, 40%);">+                        '-b', self.addr())</span><br><span>                 self.process = self.rem_host.RemoteProcessSafeExit(self.name(), self.remote_run_dir, args, wait_time_sec=7)</span><br><span>             self.testenv.remember_to_stop(self.process)</span><br><span>             self.process.launch()</span><br><span>@@ -155,7 +159,7 @@</span><br><span> </span><br><span>     def send_cmd(self, str_buf):</span><br><span>         self.dbg('sending cmd: "%s"' % str_buf)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.ctrl_sk.sendto(str_buf.encode('utf-8'), (self.addr, self.ctrl_port))</span><br><span style="color: hsl(120, 100%, 40%);">+        self.ctrl_sk.sendto(str_buf.encode('utf-8'), (self.addr(), self.ctrl_port))</span><br><span> </span><br><span>     def cmd_setup(self):</span><br><span>         cfg = self.gen_json()</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/20845">change 20845</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/20845"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-tester </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I5c83075d140632846c6d357152963754d16b4633 </div>
<div style="display:none"> Gerrit-Change-Number: 20845 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>