<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17466">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">doc/manuals: Write section explaining parametrized scenarios<br><br>Change-Id: I04b7fa46c2a282095bbb8f6d69ade87ff86f910c<br>---<br>M doc/manuals/chapters/config.adoc<br>1 file changed, 43 insertions(+), 0 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/66/17466/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc</span><br><span>index bb0cec2..a8bb958 100644</span><br><span>--- a/doc/manuals/chapters/config.adoc</span><br><span>+++ b/doc/manuals/chapters/config.adoc</span><br><span>@@ -387,6 +387,49 @@</span><br><span> my_suite:sysmo+tch_f+amr</span><br><span> ----</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+*_Parametrized scenario conf files_*:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Furthermore, scenario '.conf' files can be parametrized. The concept is similar to that</span><br><span style="color: hsl(120, 100%, 40%);">+of systemd's Template Unit Files. That is, an scenario file can be written so</span><br><span style="color: hsl(120, 100%, 40%);">+that some values inside it can be passed at the time of referencing the</span><br><span style="color: hsl(120, 100%, 40%);">+scenario name. The idea behind its existence is to re-use the same</span><br><span style="color: hsl(120, 100%, 40%);">+scenario file for a set of attributes which are changed and that can have a lot</span><br><span style="color: hsl(120, 100%, 40%);">+of different values. For instance, if a scenario is aimed at setting or</span><br><span style="color: hsl(120, 100%, 40%);">+filtering some specific attribute holding an integer value, without parametrized</span><br><span style="color: hsl(120, 100%, 40%);">+scenarios then a separate file would be needed for each value the user wanted to use.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+A parametrized scenario file, similar to systemd Template Unit Files,</span><br><span style="color: hsl(120, 100%, 40%);">+contain the character '@' in their file name, ie follow the syntax below:</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+scenario-name@param1,param2,param3,[...],paramN.conf</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Then, its content can be written this way:</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+$ cat $scenario_dir/my-parametrized-scenario@.conf</span><br><span style="color: hsl(120, 100%, 40%);">+resources:</span><br><span style="color: hsl(120, 100%, 40%);">+  enb:</span><br><span style="color: hsl(120, 100%, 40%);">+  - type: srsenb</span><br><span style="color: hsl(120, 100%, 40%);">+    rf_dev_type: ${param1}</span><br><span style="color: hsl(120, 100%, 40%);">+modifiers:</span><br><span style="color: hsl(120, 100%, 40%);">+  enb:</span><br><span style="color: hsl(120, 100%, 40%);">+    - num_prb: ${param2}</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Finally, it can be referenced during {app-name} execution this wya, for instance when running a suite named '4g':</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+- 4g:my-parametrized-scenario@UHD,6</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+This way {app-name} when parsing the scenarios and combining them with the suite will::</span><br><span style="color: hsl(120, 100%, 40%);">+. Find out it is parametrized (name contains '@').</span><br><span style="color: hsl(120, 100%, 40%);">+. Split the name</span><br><span style="color: hsl(120, 100%, 40%);">+  ('my-parametrized-scenario') from the parameter list (param1='UHD', param2='6')</span><br><span style="color: hsl(120, 100%, 40%);">+. Attempt to match a '.conf' file fully matching name and parameters (hence</span><br><span style="color: hsl(120, 100%, 40%);">+  specific content can be set for specific values while still using parameters</span><br><span style="color: hsl(120, 100%, 40%);">+  for general values), and otherwise match only by name.</span><br><span style="color: hsl(120, 100%, 40%);">+. Generate the final</span><br><span style="color: hsl(120, 100%, 40%);">+  scenario content from the template available in the matched '.conf' file.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> [[resources_conf]]</span><br><span> ==== 'resources.conf'</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17466">change 17466</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/+/17466"/><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: I04b7fa46c2a282095bbb8f6d69ade87ff86f910c </div>
<div style="display:none"> Gerrit-Change-Number: 17466 </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>