<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17902">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">suites/4g: Introduce sample handover test<br><br>Change-Id: I1afc77c7bc3ca6a247ffdf96e3b7e31c4c7606c3<br>---<br>M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl<br>M sysmocom/suites/4g/handover.py<br>2 files changed, 31 insertions(+), 7 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/02/17902/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl</span><br><span>index c675d33..8f857b2 100644</span><br><span>--- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl</span><br><span>+++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl</span><br><span>@@ -72,7 +72,7 @@</span><br><span> root_seq_idx = ${loop.index + 204};</span><br><span> dl_earfcn = ${cell.dl_earfcn};</span><br><span> //ul_earfcn = 20850;</span><br><span style="color: hsl(0, 100%, 40%);">- ho_active = false;</span><br><span style="color: hsl(120, 100%, 40%);">+ ho_active = true;</span><br><span> </span><br><span> // CA cells</span><br><span> scell_list = (</span><br><span>diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py</span><br><span>index 3a49321..3cb8b02 100755</span><br><span>--- a/sysmocom/suites/4g/handover.py</span><br><span>+++ b/sysmocom/suites/4g/handover.py</span><br><span>@@ -4,6 +4,10 @@</span><br><span> epc = suite.epc()</span><br><span> enb = suite.enb()</span><br><span> ue = suite.modem()</span><br><span style="color: hsl(120, 100%, 40%);">+iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()})</span><br><span style="color: hsl(120, 100%, 40%);">+iperf3srv.set_run_node(epc.run_node())</span><br><span style="color: hsl(120, 100%, 40%);">+iperf3cli = iperf3srv.create_client()</span><br><span style="color: hsl(120, 100%, 40%);">+iperf3cli.set_run_node(ue.run_node())</span><br><span> </span><br><span> epc.subscriber_add(ue)</span><br><span> epc.start()</span><br><span>@@ -15,15 +19,35 @@</span><br><span> print('ENB is connected to EPC')</span><br><span> </span><br><span> ue.connect(enb)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+iperf3srv.start()</span><br><span style="color: hsl(120, 100%, 40%);">+proc = iperf3cli.prepare_test_proc(False, ue.netns())</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> print('waiting for UE to attach...')</span><br><span> wait(ue.is_connected, None)</span><br><span> print('UE is attached')</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-sleep(2)</span><br><span style="color: hsl(120, 100%, 40%);">+rfemu_cell1 = enb.get_rfemu(0)</span><br><span style="color: hsl(120, 100%, 40%);">+rfemu_cell2 = enb.get_rfemu(1)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-rfemu = enb.get_rfemu()</span><br><span style="color: hsl(0, 100%, 40%);">-for att in range(1, 10, 1):</span><br><span style="color: hsl(0, 100%, 40%);">- print("Setting cell attenuation %d..." % att)</span><br><span style="color: hsl(0, 100%, 40%);">- rfemu.set_attenuation(att)</span><br><span style="color: hsl(0, 100%, 40%);">- sleep(1)</span><br><span style="color: hsl(120, 100%, 40%);">+# attenuation from 0 to 10, then back to 0</span><br><span style="color: hsl(120, 100%, 40%);">+cell1_att_li = list(range(0, 11, 1)) + list(range(9, -1, -1))</span><br><span style="color: hsl(120, 100%, 40%);">+# attenuation from 10 to 0, then back to 10</span><br><span style="color: hsl(120, 100%, 40%);">+cell2_att_li = list(range(10, 0, -1)) + list(range(0, 11, 1))</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+try:</span><br><span style="color: hsl(120, 100%, 40%);">+ proc.launch()</span><br><span style="color: hsl(120, 100%, 40%);">+ step = 0</span><br><span style="color: hsl(120, 100%, 40%);">+ while step < len(cell1_gain_li):</span><br><span style="color: hsl(120, 100%, 40%);">+ rfemu_cell1.set_attenuation(cell1_att_li[step])</span><br><span style="color: hsl(120, 100%, 40%);">+ rfemu_cell2.set_attenuation(cell2_att_li[step])</span><br><span style="color: hsl(120, 100%, 40%);">+ step += 1</span><br><span style="color: hsl(120, 100%, 40%);">+ sleep(1)</span><br><span style="color: hsl(120, 100%, 40%);">+ proc.wait()</span><br><span style="color: hsl(120, 100%, 40%);">+except Exception as e:</span><br><span style="color: hsl(120, 100%, 40%);">+ try:</span><br><span style="color: hsl(120, 100%, 40%);">+ proc.terminate() # make sure we always terminate the process</span><br><span style="color: hsl(120, 100%, 40%);">+ except Exception:</span><br><span style="color: hsl(120, 100%, 40%);">+ print("Exception while terminating process %r" % repr(process))</span><br><span style="color: hsl(120, 100%, 40%);">+ raise e</span><br><span> print("Done")</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17902">change 17902</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/+/17902"/><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: I1afc77c7bc3ca6a247ffdf96e3b7e31c4c7606c3 </div>
<div style="display:none"> Gerrit-Change-Number: 17902 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>