<p>Pau Espin Pedrol <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/10621">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, but someone else must approve
  Pau Espin Pedrol: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">osmo-bsc: Parametrize codec-list VTY cfg<br><br>Change-Id: I1678aba43e8d399ecad192cbc416698373e3c0a0<br>---<br>M example/defaults.conf<br>A example/scenarios/cfg-codec-fr1.conf<br>A example/scenarios/cfg-codec-fr2.conf<br>A example/scenarios/cfg-codec-fr3.conf<br>A example/scenarios/cfg-codec-hr1.conf<br>A example/scenarios/cfg-codec-hr2.conf<br>A example/scenarios/cfg-codec-hr3.conf<br>M src/osmo_gsm_tester/resource.py<br>M src/osmo_gsm_tester/schema.py<br>M src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl<br>10 files changed, 42 insertions(+), 2 deletions(-)<br><br></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 61b09fb..5bdf257 100644</span><br><span>--- a/example/defaults.conf</span><br><span>+++ b/example/defaults.conf</span><br><span>@@ -14,6 +14,8 @@</span><br><span>     short_name: osmo-gsm-tester-msc</span><br><span>     long_name: osmo-gsm-tester-msc</span><br><span>     encryption: a5_0</span><br><span style="color: hsl(120, 100%, 40%);">+    codec_list:</span><br><span style="color: hsl(120, 100%, 40%);">+    - hr3</span><br><span> </span><br><span> msc:</span><br><span>   net:</span><br><span>diff --git a/example/scenarios/cfg-codec-fr1.conf b/example/scenarios/cfg-codec-fr1.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..f58a82d</span><br><span>--- /dev/null</span><br><span>+++ b/example/scenarios/cfg-codec-fr1.conf</span><br><span>@@ -0,0 +1,5 @@</span><br><span style="color: hsl(120, 100%, 40%);">+config:</span><br><span style="color: hsl(120, 100%, 40%);">+  bsc:</span><br><span style="color: hsl(120, 100%, 40%);">+    net:</span><br><span style="color: hsl(120, 100%, 40%);">+      codec_list:</span><br><span style="color: hsl(120, 100%, 40%);">+      - fr1</span><br><span>diff --git a/example/scenarios/cfg-codec-fr2.conf b/example/scenarios/cfg-codec-fr2.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..1ad63de</span><br><span>--- /dev/null</span><br><span>+++ b/example/scenarios/cfg-codec-fr2.conf</span><br><span>@@ -0,0 +1,5 @@</span><br><span style="color: hsl(120, 100%, 40%);">+config:</span><br><span style="color: hsl(120, 100%, 40%);">+  bsc:</span><br><span style="color: hsl(120, 100%, 40%);">+    net:</span><br><span style="color: hsl(120, 100%, 40%);">+      codec_list:</span><br><span style="color: hsl(120, 100%, 40%);">+      - fr2</span><br><span>diff --git a/example/scenarios/cfg-codec-fr3.conf b/example/scenarios/cfg-codec-fr3.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..fcc47cc</span><br><span>--- /dev/null</span><br><span>+++ b/example/scenarios/cfg-codec-fr3.conf</span><br><span>@@ -0,0 +1,5 @@</span><br><span style="color: hsl(120, 100%, 40%);">+config:</span><br><span style="color: hsl(120, 100%, 40%);">+  bsc:</span><br><span style="color: hsl(120, 100%, 40%);">+    net:</span><br><span style="color: hsl(120, 100%, 40%);">+      codec_list:</span><br><span style="color: hsl(120, 100%, 40%);">+      - fr3</span><br><span>diff --git a/example/scenarios/cfg-codec-hr1.conf b/example/scenarios/cfg-codec-hr1.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..50a092c</span><br><span>--- /dev/null</span><br><span>+++ b/example/scenarios/cfg-codec-hr1.conf</span><br><span>@@ -0,0 +1,5 @@</span><br><span style="color: hsl(120, 100%, 40%);">+config:</span><br><span style="color: hsl(120, 100%, 40%);">+  bsc:</span><br><span style="color: hsl(120, 100%, 40%);">+    net:</span><br><span style="color: hsl(120, 100%, 40%);">+      codec_list:</span><br><span style="color: hsl(120, 100%, 40%);">+      - hr1</span><br><span>diff --git a/example/scenarios/cfg-codec-hr2.conf b/example/scenarios/cfg-codec-hr2.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..e2cc9d2</span><br><span>--- /dev/null</span><br><span>+++ b/example/scenarios/cfg-codec-hr2.conf</span><br><span>@@ -0,0 +1,5 @@</span><br><span style="color: hsl(120, 100%, 40%);">+config:</span><br><span style="color: hsl(120, 100%, 40%);">+  bsc:</span><br><span style="color: hsl(120, 100%, 40%);">+    net:</span><br><span style="color: hsl(120, 100%, 40%);">+      codec_list:</span><br><span style="color: hsl(120, 100%, 40%);">+      - hr2</span><br><span>diff --git a/example/scenarios/cfg-codec-hr3.conf b/example/scenarios/cfg-codec-hr3.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..c54b924</span><br><span>--- /dev/null</span><br><span>+++ b/example/scenarios/cfg-codec-hr3.conf</span><br><span>@@ -0,0 +1,5 @@</span><br><span style="color: hsl(120, 100%, 40%);">+config:</span><br><span style="color: hsl(120, 100%, 40%);">+  bsc:</span><br><span style="color: hsl(120, 100%, 40%);">+    net:</span><br><span style="color: hsl(120, 100%, 40%);">+      codec_list:</span><br><span style="color: hsl(120, 100%, 40%);">+      - hr3</span><br><span>diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py</span><br><span>index e4e2f9d..15f2711 100644</span><br><span>--- a/src/osmo_gsm_tester/resource.py</span><br><span>+++ b/src/osmo_gsm_tester/resource.py</span><br><span>@@ -87,7 +87,8 @@</span><br><span>     RESOURCES_SCHEMA)</span><br><span> </span><br><span> CONF_SCHEMA = util.dict_add(</span><br><span style="color: hsl(0, 100%, 40%);">-    { 'defaults.timeout': schema.STR },</span><br><span style="color: hsl(120, 100%, 40%);">+    { 'defaults.timeout': schema.STR,</span><br><span style="color: hsl(120, 100%, 40%);">+      'config.bsc.net.codec_list[]': schema.CODEC },</span><br><span>     dict([('resources.%s' % key, val) for key, val in WANT_SCHEMA.items()]),</span><br><span>     dict([('modifiers.%s' % key, val) for key, val in WANT_SCHEMA.items()]))</span><br><span> </span><br><span>diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py</span><br><span>index 4a15bcd..174c28f 100644</span><br><span>--- a/src/osmo_gsm_tester/schema.py</span><br><span>+++ b/src/osmo_gsm_tester/schema.py</span><br><span>@@ -110,6 +110,11 @@</span><br><span>         return</span><br><span>     raise ValueError('Unknown Channel Allocator Policy %r' % val)</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+def codec(val):</span><br><span style="color: hsl(120, 100%, 40%);">+    if val in ('hr1', 'hr2', 'hr3', 'fr1', 'fr2', 'fr3'):</span><br><span style="color: hsl(120, 100%, 40%);">+        return</span><br><span style="color: hsl(120, 100%, 40%);">+    raise ValueError('Unknown Codec value: %r' % val)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> INT = 'int'</span><br><span> STR = 'str'</span><br><span> UINT = 'uint'</span><br><span>@@ -126,6 +131,7 @@</span><br><span> MODEM_FEATURE = 'modem_feature'</span><br><span> PHY_CHAN = 'chan'</span><br><span> CHAN_ALLOCATOR = 'chan_allocator'</span><br><span style="color: hsl(120, 100%, 40%);">+CODEC = 'codec'</span><br><span> </span><br><span> SCHEMA_TYPES = {</span><br><span>         INT: int,</span><br><span>@@ -144,6 +150,7 @@</span><br><span>         MODEM_FEATURE: modem_feature,</span><br><span>         PHY_CHAN: phy_channel_config,</span><br><span>         CHAN_ALLOCATOR: channel_allocator,</span><br><span style="color: hsl(120, 100%, 40%);">+        CODEC: codec,</span><br><span>     }</span><br><span> </span><br><span> def validate(config, schema):</span><br><span>diff --git a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl</span><br><span>index edcf33f..95bf5e3 100644</span><br><span>--- a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl</span><br><span>+++ b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl</span><br><span>@@ -110,7 +110,7 @@</span><br><span>  mgw remote-port 2427</span><br><span>  mgw local-ip ${bsc.ip_address.addr}</span><br><span>  mgw endpoint-range 1 31</span><br><span style="color: hsl(0, 100%, 40%);">- codec-list hr3</span><br><span style="color: hsl(120, 100%, 40%);">+ codec-list ${' '.join(bsc.net.codec_list)}</span><br><span>  amr-config 12_2k forbidden</span><br><span>  amr-config 10_2k forbidden</span><br><span>  amr-config 7_95k forbidden</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/10621">change 10621</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/10621"/><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-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I1678aba43e8d399ecad192cbc416698373e3c0a0 </div>
<div style="display:none"> Gerrit-Change-Number: 10621 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Pau Espin Pedrol <pespin@sysmocom.de> </div>