<p>neels <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21505">View Change</a></p><div style="white-space:pre-wrap"></div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">add bsc.vty: always keep a BSC VTY connection ready<br><br>The BSC's VTY port will be used to trigger manual handover, and to<br>retrieve a list of active lchans from the BSC, in the upcoming<br>handover_2G test suite, I0b2671304165a1aaae2b386af46fbd8b098e3bd8.<br><br>Change-Id: I06652db04fc9e48748f3c2196334f5352e9cc48a<br>---<br>M src/osmo_gsm_tester/obj/bsc_osmo.py<br>M src/osmo_gsm_tester/obj/osmo_vty.py<br>M src/osmo_gsm_tester/testenv.py<br>3 files changed, 21 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/obj/bsc_osmo.py b/src/osmo_gsm_tester/obj/bsc_osmo.py</span><br><span>index 1763dcd..bd8649b 100644</span><br><span>--- a/src/osmo_gsm_tester/obj/bsc_osmo.py</span><br><span>+++ b/src/osmo_gsm_tester/obj/bsc_osmo.py</span><br><span>@@ -20,10 +20,11 @@</span><br><span> import os</span><br><span> import re</span><br><span> import pprint</span><br><span style="color: hsl(120, 100%, 40%);">+import re</span><br><span> </span><br><span> from ..core import log, util, config, template, process</span><br><span> from ..core import schema</span><br><span style="color: hsl(0, 100%, 40%);">-from . import osmo_ctrl, pcap_recorder</span><br><span style="color: hsl(120, 100%, 40%);">+from . import osmo_ctrl, osmo_vty, pcap_recorder</span><br><span> </span><br><span> def on_register_schemas():</span><br><span>     config_schema = {</span><br><span>@@ -48,6 +49,7 @@</span><br><span>         self.msc = msc</span><br><span>         self.mgw = mgw</span><br><span>         self.stp = stp</span><br><span style="color: hsl(120, 100%, 40%);">+        self.vty = None</span><br><span> </span><br><span>     def start(self):</span><br><span>         self.log('Starting osmo-bsc')</span><br><span>@@ -79,6 +81,9 @@</span><br><span>         self.testenv.remember_to_stop(self.process)</span><br><span>         self.process.launch()</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        self.vty = OsmoBscVty(self)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.vty.connect()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     def configure(self):</span><br><span>         self.config_file = self.run_dir.new_file('osmo-bsc.cfg')</span><br><span>         self.dbg(config_file=self.config_file)</span><br><span>@@ -150,6 +155,10 @@</span><br><span>     def running(self):</span><br><span>         return not self.process.terminated()</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def cleanup(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        if self.vty is not None:</span><br><span style="color: hsl(120, 100%, 40%);">+            self.vty.disconnect()</span><br><span style="color: hsl(120, 100%, 40%);">+            self.vty = None</span><br><span> </span><br><span> class OsmoBscCtrl(log.Origin):</span><br><span>     PORT = 4249</span><br><span>@@ -178,4 +187,9 @@</span><br><span>                         return True</span><br><span>         return False</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+class OsmoBscVty(osmo_vty.OsmoVty):</span><br><span style="color: hsl(120, 100%, 40%);">+    def __init__(self, bsc, port=4242):</span><br><span style="color: hsl(120, 100%, 40%);">+        self.bsc = bsc</span><br><span style="color: hsl(120, 100%, 40%);">+        super().__init__(self.bsc.addr(), port)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> # vim: expandtab tabstop=4 shiftwidth=4</span><br><span>diff --git a/src/osmo_gsm_tester/obj/osmo_vty.py b/src/osmo_gsm_tester/obj/osmo_vty.py</span><br><span>index 3f8abf7..6fee5dc 100644</span><br><span>--- a/src/osmo_gsm_tester/obj/osmo_vty.py</span><br><span>+++ b/src/osmo_gsm_tester/obj/osmo_vty.py</span><br><span>@@ -38,6 +38,9 @@</span><br><span> </span><br><span>        Using 'with' ensures that the connection is closed again.</span><br><span>        There should not be nested 'with' statements on this object.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       Note that test env objects (like tenv.bsc()) may keep a VTY connected until the test exits. A 'with' should not</span><br><span style="color: hsl(120, 100%, 40%);">+       be used on those.</span><br><span>     '''</span><br><span> </span><br><span> ##############</span><br><span>diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py</span><br><span>index a74891d..ebc8f91 100644</span><br><span>--- a/src/osmo_gsm_tester/testenv.py</span><br><span>+++ b/src/osmo_gsm_tester/testenv.py</span><br><span>@@ -235,7 +235,9 @@</span><br><span>         from .obj.bsc_osmo import OsmoBsc</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span style="color: hsl(0, 100%, 40%);">-        return OsmoBsc(self, msc, mgw, stp, ip_address)</span><br><span style="color: hsl(120, 100%, 40%);">+        bsc_obj = OsmoBsc(self, msc, mgw, stp, ip_address)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.register_for_cleanup(bsc_obj)</span><br><span style="color: hsl(120, 100%, 40%);">+        return bsc_obj</span><br><span> </span><br><span>     def stp(self, ip_address=None):</span><br><span>         from .obj.stp_osmo import OsmoStp</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21505">change 21505</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/+/21505"/><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: I06652db04fc9e48748f3c2196334f5352e9cc48a </div>
<div style="display:none"> Gerrit-Change-Number: 21505 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@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>