<p>srs_andre has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">iperf3: add modifier to adjust the duration of the iperf run<br><br>the time is passed as a string param but is currently just<br>converted to seconds. We plan to add a conversion to accept<br>values such as 30m or 2h<br><br>Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d<br>---<br>M example/defaults.conf<br>A example/scenarios/mod-iperf3-time@.conf<br>M src/osmo_gsm_tester/iperf3.py<br>M src/osmo_gsm_tester/resource.py<br>4 files changed, 16 insertions(+), 4 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/51/17651/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/example/defaults.conf b/example/defaults.conf</span><br><span>index 2708b18..4c33765 100644</span><br><span>--- a/example/defaults.conf</span><br><span>+++ b/example/defaults.conf</span><br><span>@@ -112,3 +112,6 @@</span><br><span>   airplane_t_on_ms: -1</span><br><span>   airplane_t_off_ms: -1</span><br><span>   num_carriers: 1</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+iperf3cli:</span><br><span style="color: hsl(120, 100%, 40%);">+  time: 60</span><br><span>diff --git a/example/scenarios/mod-iperf3-time@.conf b/example/scenarios/mod-iperf3-time@.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..fcf6f3c</span><br><span>--- /dev/null</span><br><span>+++ b/example/scenarios/mod-iperf3-time@.conf</span><br><span>@@ -0,0 +1,3 @@</span><br><span style="color: hsl(120, 100%, 40%);">+modifiers:</span><br><span style="color: hsl(120, 100%, 40%);">+  iperf3cli:</span><br><span style="color: hsl(120, 100%, 40%);">+  - time: ${param1}</span><br><span>diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py</span><br><span>index be4dd6f..6e97a59 100644</span><br><span>--- a/src/osmo_gsm_tester/iperf3.py</span><br><span>+++ b/src/osmo_gsm_tester/iperf3.py</span><br><span>@@ -20,7 +20,7 @@</span><br><span> import os</span><br><span> import json</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-from . import log, util, process, pcap_recorder, run_node, remote</span><br><span style="color: hsl(120, 100%, 40%);">+from . import log, util, config, process, pcap_recorder, run_node, remote</span><br><span> </span><br><span> def iperf3_result_to_json(file):</span><br><span>     with open(file) as f:</span><br><span>@@ -155,14 +155,19 @@</span><br><span>         return locally</span><br><span> </span><br><span>     def prepare_test_proc(self, downlink=False, netns=None, time_sec=10):</span><br><span style="color: hsl(0, 100%, 40%);">-        self.log('Starting iperf3-client connecting to %s:%d' % (self.server.addr(), self.server.port()))</span><br><span style="color: hsl(120, 100%, 40%);">+        values = dict(iperf3cli=config.get_defaults('iperf3cli'))</span><br><span style="color: hsl(120, 100%, 40%);">+        config.overlay(values, dict(iperf3cli=self.suite_run.config().get('iperf3cli', {})))</span><br><span style="color: hsl(120, 100%, 40%);">+        time_sec_final = int(values['iperf3cli'].get('time', time_sec))</span><br><span style="color: hsl(120, 100%, 40%);">+        assert(time_sec_final)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        self.log('Starting iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec_final))</span><br><span>         self.log_copied = False</span><br><span>         self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name()))</span><br><span>         self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE)</span><br><span>         if self.runs_locally():</span><br><span style="color: hsl(0, 100%, 40%);">-            return self.prepare_test_proc_locally(downlink, netns, time_sec)</span><br><span style="color: hsl(120, 100%, 40%);">+            return self.prepare_test_proc_locally(downlink, netns, time_sec_final)</span><br><span>         else:</span><br><span style="color: hsl(0, 100%, 40%);">-            return self.prepare_test_proc_remotely(downlink, netns, time_sec)</span><br><span style="color: hsl(120, 100%, 40%);">+            return self.prepare_test_proc_remotely(downlink, netns, time_sec_final)</span><br><span> </span><br><span>     def prepare_test_proc_remotely(self, downlink, netns, time_sec):</span><br><span>         self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr())</span><br><span>diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py</span><br><span>index 3473abf..bb7b872 100644</span><br><span>--- a/src/osmo_gsm_tester/resource.py</span><br><span>+++ b/src/osmo_gsm_tester/resource.py</span><br><span>@@ -114,6 +114,7 @@</span><br><span>         'modem[].airplane_t_on_ms': schema.INT,</span><br><span>         'modem[].airplane_t_off_ms': schema.INT,</span><br><span>         'osmocon_phone[].serial_device': schema.STR,</span><br><span style="color: hsl(120, 100%, 40%);">+        'iperf3cli[].time': schema.STR,</span><br><span>     }</span><br><span> </span><br><span> WANT_SCHEMA = util.dict_add(</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651">change 17651</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/+/17651"/><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: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d </div>
<div style="display:none"> Gerrit-Change-Number: 17651 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: srs_andre <andre@softwareradiosystems.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>