<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17500">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">doc/manuals: Introduce chapter explaining config data mangling<br><br>Explains how configurations bits are arranged and mangled to provide a<br>last config set.<br><br>Change-Id: I5c8f136e743b6beb02956b3436aa3d1010205141<br>---<br>A doc/manuals/chapters/config_mangling.adoc<br>M doc/manuals/chapters/resource_pool.adoc<br>2 files changed, 338 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/00/17500/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/doc/manuals/chapters/config_mangling.adoc b/doc/manuals/chapters/config_mangling.adoc</span><br><span>new file mode 100644</span><br><span>index 0000000..310b15f</span><br><span>--- /dev/null</span><br><span>+++ b/doc/manuals/chapters/config_mangling.adoc</span><br><span>@@ -0,0 +1,334 @@</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+* Data processing can be understood as operations on sets (link:https://duckduckgo.com/?q=Venn+diagram[Venn diagram])</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%);">+$ src/osmo-gsm-tester.py "$TRIAL_JOB_DIR" -s 4g:srsenb-rftype@zmq+srsue-rftype@zmq+mod-enb-nprb@6 -t ping.py</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%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+* First Suite and scenarios dictionaries ('resources', 'modifiers', 'config') are combined (set union operation):</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[cols="1,5a,5a,10a,10a"]</span><br><span style="color: hsl(120, 100%, 40%);">+.Manual replica of 'suite.py resource_requirements()' and 'resource_modifiers()' methods</span><br><span style="color: hsl(120, 100%, 40%);">+|===</span><br><span style="color: hsl(120, 100%, 40%);">+|File|original|after 'times' replication|python syntax|combined</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+|4g</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%);">+run_node:</span><br><span style="color: hsl(120, 100%, 40%);">+- times: 1</span><br><span style="color: hsl(120, 100%, 40%);">+enb:</span><br><span style="color: hsl(120, 100%, 40%);">+- times: 1</span><br><span style="color: hsl(120, 100%, 40%);">+  type: srsenb</span><br><span style="color: hsl(120, 100%, 40%);">+modem:</span><br><span style="color: hsl(120, 100%, 40%);">+- times: 2</span><br><span style="color: hsl(120, 100%, 40%);">+  type: srsue</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+run_node:</span><br><span style="color: hsl(120, 100%, 40%);">+- {}</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%);">+modem:</span><br><span style="color: hsl(120, 100%, 40%);">+- type: srsue</span><br><span style="color: hsl(120, 100%, 40%);">+- type: srsue</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'run_node': [{}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'type': 'srsenb'}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'modem': [{'type: 'srsue'},</span><br><span style="color: hsl(120, 100%, 40%);">+            {'type: 'srsue'}]</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+'modifiers': {}</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'run_node': [{}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'type': 'srsenb'}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'modem': [{'type': 'srsue'},</span><br><span style="color: hsl(120, 100%, 40%);">+            {'type': 'srsue'}]</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%);">+'modifiers': {}</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+|srsenb-rftype@zmq</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%);">+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: zmq</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%);">+----</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: zmq</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'type': 'srsenb',</span><br><span style="color: hsl(120, 100%, 40%);">+           'rf_dev_type': 'zmq'}]</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+'modifiers': {}</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'run_node': [{}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'type': 'srsenb',</span><br><span style="color: hsl(120, 100%, 40%);">+           'rf_dev_type': 'zmq'}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'modem': [{'type': 'srsue'},</span><br><span style="color: hsl(120, 100%, 40%);">+            {'type': 'srsue'}]</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+'modifiers': {}</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+|srsue-rftype@zmq</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%);">+resources:</span><br><span style="color: hsl(120, 100%, 40%);">+  modem:</span><br><span style="color: hsl(120, 100%, 40%);">+  - type: srsue</span><br><span style="color: hsl(120, 100%, 40%);">+    rf_dev_type: zmq</span><br><span style="color: hsl(120, 100%, 40%);">+    times: 1</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+resources:</span><br><span style="color: hsl(120, 100%, 40%);">+  modem:</span><br><span style="color: hsl(120, 100%, 40%);">+  - type: srsue</span><br><span style="color: hsl(120, 100%, 40%);">+    rf_dev_type: zmq</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'modem': [{'type': 'srsue',</span><br><span style="color: hsl(120, 100%, 40%);">+           'rf_dev_type': 'zmq'}]</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+'modifiers': {}</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'run_node': [{}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'type': 'srsenb',</span><br><span style="color: hsl(120, 100%, 40%);">+           'rf_dev_type': 'zmq'}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'modem': [{'type': 'srsue',</span><br><span style="color: hsl(120, 100%, 40%);">+             'rf_dev_type': 'zmq'},</span><br><span style="color: hsl(120, 100%, 40%);">+            {'type': 'srsue'}]</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+'modifiers': {}</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+|mod-enb-nprb@6</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%);">+modifiers:</span><br><span style="color: hsl(120, 100%, 40%);">+  enb:</span><br><span style="color: hsl(120, 100%, 40%);">+  - num_prb: 6</span><br><span style="color: hsl(120, 100%, 40%);">+    times: 1</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%);">+----</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: 6</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {}</span><br><span style="color: hsl(120, 100%, 40%);">+'modifiers': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'num_prb': 6}]</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%);">+|</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'run_node': [{}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'type': 'srsenb',</span><br><span style="color: hsl(120, 100%, 40%);">+           'rf_dev_type': 'zmq'}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'modem': [{'type': 'srsue',</span><br><span style="color: hsl(120, 100%, 40%);">+             'rf_dev_type': 'zmq'},</span><br><span style="color: hsl(120, 100%, 40%);">+            {'type': 'srsue'}]</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+'modifiers': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'num_prb': 6}]</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%);">+|===</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+* Second, the resulting 'resources' set is used to match a set of resources from 'resources.list' in order to allocate them (intersection of sets):</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[cols="5a,5a,10a"]</span><br><span style="color: hsl(120, 100%, 40%);">+.Manual replica of 'resource.py reserve()' method</span><br><span style="color: hsl(120, 100%, 40%);">+|===</span><br><span style="color: hsl(120, 100%, 40%);">+|resources.conf|'resources' filters|matched</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+run_node:</span><br><span style="color: hsl(120, 100%, 40%);">+- run_type: ssh</span><br><span style="color: hsl(120, 100%, 40%);">+  run_addr: 10.12.1.195</span><br><span style="color: hsl(120, 100%, 40%);">+  ssh_user: jenkins</span><br><span style="color: hsl(120, 100%, 40%);">+  ssh_addr: 10.12.1.195</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+enb:</span><br><span style="color: hsl(120, 100%, 40%);">+- label: srsENB-zmq</span><br><span style="color: hsl(120, 100%, 40%);">+  type: srsenb</span><br><span style="color: hsl(120, 100%, 40%);">+  rf_dev_type: zmq</span><br><span style="color: hsl(120, 100%, 40%);">+  remote_user: jenkins</span><br><span style="color: hsl(120, 100%, 40%);">+  addr: 10.12.1.206</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+- label: srsENB-B200</span><br><span style="color: hsl(120, 100%, 40%);">+  type: srsenb</span><br><span style="color: hsl(120, 100%, 40%);">+  rf_dev_type: UHD</span><br><span style="color: hsl(120, 100%, 40%);">+  rf_dev_args: "type=b200,serial=317B9FE"</span><br><span style="color: hsl(120, 100%, 40%);">+  remote_user: jenkins</span><br><span style="color: hsl(120, 100%, 40%);">+  addr: 10.12.1.206</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+modem:</span><br><span style="color: hsl(120, 100%, 40%);">+- label: srsUE-zmq_1</span><br><span style="color: hsl(120, 100%, 40%);">+  type: srsue</span><br><span style="color: hsl(120, 100%, 40%);">+  rf_dev_type: zmq</span><br><span style="color: hsl(120, 100%, 40%);">+  remote_user: jenkins</span><br><span style="color: hsl(120, 100%, 40%);">+  addr: 10.12.1.195</span><br><span style="color: hsl(120, 100%, 40%);">+  imsi: '001010123456789'</span><br><span style="color: hsl(120, 100%, 40%);">+  ki: '001123'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+- label: srsUE-zq_2</span><br><span style="color: hsl(120, 100%, 40%);">+  type: srsue</span><br><span style="color: hsl(120, 100%, 40%);">+  rf_dev_type: zmq</span><br><span style="color: hsl(120, 100%, 40%);">+  remote_user: jenkins</span><br><span style="color: hsl(120, 100%, 40%);">+  addr: 10.12.1.180</span><br><span style="color: hsl(120, 100%, 40%);">+  imsi: '001010123456781'</span><br><span style="color: hsl(120, 100%, 40%);">+  ki: '001124'</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'run_node': [{}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'type': 'srsenb',</span><br><span style="color: hsl(120, 100%, 40%);">+           'rf_dev_type': 'zmq'}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'modem': [</span><br><span style="color: hsl(120, 100%, 40%);">+            {'type': 'srsue',</span><br><span style="color: hsl(120, 100%, 40%);">+             'rf_dev_type': 'zmq'},</span><br><span style="color: hsl(120, 100%, 40%);">+            {'type': 'srsue'}</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%);">+----</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%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'run_node': [{'run_type': 'ssh',</span><br><span style="color: hsl(120, 100%, 40%);">+                'run_addr': '10.12.1.195',</span><br><span style="color: hsl(120, 100%, 40%);">+                'ssh_user': 'jenkins',</span><br><span style="color: hsl(120, 100%, 40%);">+                'ssh_addr': '10.12.1.195'}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'label': 'srsENB-zmq',</span><br><span style="color: hsl(120, 100%, 40%);">+           'type': 'srsenb',</span><br><span style="color: hsl(120, 100%, 40%);">+           'rf_dev_type': 'zmq',</span><br><span style="color: hsl(120, 100%, 40%);">+           'remote_user': 'jenkins',</span><br><span style="color: hsl(120, 100%, 40%);">+           'addr': 10.12.1.206}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'modem': [</span><br><span style="color: hsl(120, 100%, 40%);">+            {'label': 'srsUE-zmq_1',</span><br><span style="color: hsl(120, 100%, 40%);">+             'type': 'srsue',</span><br><span style="color: hsl(120, 100%, 40%);">+             'remote_user': jenkins,</span><br><span style="color: hsl(120, 100%, 40%);">+             'addr': '10.12.1.195',</span><br><span style="color: hsl(120, 100%, 40%);">+             'imsi': '001010123456789'</span><br><span style="color: hsl(120, 100%, 40%);">+             'ki': '001123',</span><br><span style="color: hsl(120, 100%, 40%);">+             'rf_dev_type': 'zmq'},</span><br><span style="color: hsl(120, 100%, 40%);">+            {'label': 'srsUE-zmq_2',</span><br><span style="color: hsl(120, 100%, 40%);">+             'type': 'srsue',</span><br><span style="color: hsl(120, 100%, 40%);">+             'remote_user': jenkins,</span><br><span style="color: hsl(120, 100%, 40%);">+             'addr': '10.12.1.180',</span><br><span style="color: hsl(120, 100%, 40%);">+             'imsi': '001010123456781'</span><br><span style="color: hsl(120, 100%, 40%);">+             'ki': '001124'}</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%);">+----</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, modifiers are applied on top of the combined configuration before</span><br><span style="color: hsl(120, 100%, 40%);">+  being passed to the python class managing it:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[cols="5a,5a,10a"]</span><br><span style="color: hsl(120, 100%, 40%);">+.Also done by 'resource.py reserve()' method after matching resources</span><br><span style="color: hsl(120, 100%, 40%);">+|===</span><br><span style="color: hsl(120, 100%, 40%);">+|Matched resources|modifiers|Result</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%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'run_node': [{'run_type': 'ssh',</span><br><span style="color: hsl(120, 100%, 40%);">+                'run_addr': '10.12.1.195',</span><br><span style="color: hsl(120, 100%, 40%);">+                'ssh_user': 'jenkins',</span><br><span style="color: hsl(120, 100%, 40%);">+                'ssh_addr': '10.12.1.195'}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'label': 'srsENB-zmq',</span><br><span style="color: hsl(120, 100%, 40%);">+           'type': 'srsenb',</span><br><span style="color: hsl(120, 100%, 40%);">+           'rf_dev_type': 'zmq',</span><br><span style="color: hsl(120, 100%, 40%);">+           'remote_user': 'jenkins',</span><br><span style="color: hsl(120, 100%, 40%);">+           'addr': 10.12.1.206}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'modem': [</span><br><span style="color: hsl(120, 100%, 40%);">+            {'label': 'srsUE-zmq_1',</span><br><span style="color: hsl(120, 100%, 40%);">+             'type': 'srsue',</span><br><span style="color: hsl(120, 100%, 40%);">+             'remote_user': jenkins,</span><br><span style="color: hsl(120, 100%, 40%);">+             'addr': '10.12.1.195',</span><br><span style="color: hsl(120, 100%, 40%);">+             'imsi': '001010123456789'</span><br><span style="color: hsl(120, 100%, 40%);">+             'ki': '001123',</span><br><span style="color: hsl(120, 100%, 40%);">+             'rf_dev_type': 'zmq'},</span><br><span style="color: hsl(120, 100%, 40%);">+            {'label': 'srsUE-zmq_2',</span><br><span style="color: hsl(120, 100%, 40%);">+             'type': 'srsue',</span><br><span style="color: hsl(120, 100%, 40%);">+             'remote_user': jenkins,</span><br><span style="color: hsl(120, 100%, 40%);">+             'addr': '10.12.1.180',</span><br><span style="color: hsl(120, 100%, 40%);">+             'imsi': '001010123456781'</span><br><span style="color: hsl(120, 100%, 40%);">+             'ki': '001124'}</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%);">+----</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%);">+'modifiers': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'num_prb': 6}]</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%);">+|</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+'resources': {</span><br><span style="color: hsl(120, 100%, 40%);">+  'run_node': [{'run_type': 'ssh',</span><br><span style="color: hsl(120, 100%, 40%);">+                'run_addr': '10.12.1.195',</span><br><span style="color: hsl(120, 100%, 40%);">+                'ssh_user': 'jenkins',</span><br><span style="color: hsl(120, 100%, 40%);">+                'ssh_addr': '10.12.1.195'}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'enb': [{'label': 'srsENB-zmq',</span><br><span style="color: hsl(120, 100%, 40%);">+           'type': 'srsenb',</span><br><span style="color: hsl(120, 100%, 40%);">+           'rf_dev_type': 'zmq',</span><br><span style="color: hsl(120, 100%, 40%);">+           'remote_user': 'jenkins',</span><br><span style="color: hsl(120, 100%, 40%);">+           'addr': '10.12.1.206',</span><br><span style="color: hsl(120, 100%, 40%);">+           'num_prb': 6}],</span><br><span style="color: hsl(120, 100%, 40%);">+  'modem': [</span><br><span style="color: hsl(120, 100%, 40%);">+            {'label': 'srsUE-zmq_1',</span><br><span style="color: hsl(120, 100%, 40%);">+             'type': 'srsue',</span><br><span style="color: hsl(120, 100%, 40%);">+             'remote_user': jenkins,</span><br><span style="color: hsl(120, 100%, 40%);">+             'addr': 10.12.1.195,</span><br><span style="color: hsl(120, 100%, 40%);">+             'imsi': '001010123456789'</span><br><span style="color: hsl(120, 100%, 40%);">+             'ki': '001123',</span><br><span style="color: hsl(120, 100%, 40%);">+             'rf_dev_type': 'zmq'},</span><br><span style="color: hsl(120, 100%, 40%);">+            {'label': 'srsUE-zmq_2',</span><br><span style="color: hsl(120, 100%, 40%);">+             'type': 'srsue',</span><br><span style="color: hsl(120, 100%, 40%);">+             'remote_user': jenkins,</span><br><span style="color: hsl(120, 100%, 40%);">+             'addr': 10.12.1.180,</span><br><span style="color: hsl(120, 100%, 40%);">+             'imsi': '001010123456781'</span><br><span style="color: hsl(120, 100%, 40%);">+             'ki': '001124'}</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%);">+----</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%);">+WARNING: Right now algorithms based on lists of scalar/simple types being</span><br><span style="color: hsl(120, 100%, 40%);">+unordered vs complex types (dictionaries, list) being ordered. Other ways can be</span><br><span style="color: hsl(120, 100%, 40%);">+supported by explicitly using 'set' type from yaml in lists of scalars.</span><br><span>diff --git a/doc/manuals/chapters/resource_pool.adoc b/doc/manuals/chapters/resource_pool.adoc</span><br><span>index 4a56767..072f42d 100644</span><br><span>--- a/doc/manuals/chapters/resource_pool.adoc</span><br><span>+++ b/doc/manuals/chapters/resource_pool.adoc</span><br><span>@@ -105,3 +105,7 @@</span><br><span> If required resources are unavailable, the test trial fails. For consecutive</span><br><span> test trials, a test run needs to either wait for resources to become available,</span><br><span> or test suites need to be scheduled to make sense. (*<- TODO*)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Understanding config parsing process</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::{srcdir}/chapters/config_mangling.adoc[]</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17500">change 17500</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/+/17500"/><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: I5c8f136e743b6beb02956b3436aa3d1010205141 </div>
<div style="display:none"> Gerrit-Change-Number: 17500 </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>