Merge remote-tracking branch 'origin/ci-refactor-core-handling' into integration_2025_w14_p1 (!3322)

Refactor core network handling in CI, harmonize code

Prior to change set, there is a highly heterogeneous situation for core
network management in CI code: some log collection is done from groovy
files (when it could be done in python, which is easier for local
development), there are multiple commands to start a CN from XML files,
the code for starting a CN is always different (no one unified way to
start "any" CN), Ping/Iperf require some support in ci_infra.yaml, ...

To help with the above, refactor the handling of core networks in the CI
code as follows:

- define all CNs in ci_infra.yaml (basically how to deploy, undeploy,
  collect logs, and on which node)
- make one Python class that reads from ci_infra.yaml and that allows to
  start/stop previously defined CNs (and add unit tests...)
- make one XML command for start/stop of CNs, leveraging above class
- leverage the CNs defined in ci_infra.yaml consistently in
  Ping()/Iperf()
- delete old code

Furthermore, the following supporting changes/bugfixes are done:

- repair Iperf2_Unidir() and add unit test
- fix a number of invalid escape sequence errors (there are some
  remaining, which I will do soon)
- various bug fixes
- remove unused XML steps
This commit is contained in:
Robert Schmidt
2025-04-03 10:10:58 +02:00
108 changed files with 1070 additions and 3380 deletions
@@ -81,7 +81,9 @@
<desc>Ping ext-dn from NR-UE</desc>
<id>rfsim5g_ue</id>
<nodes>cacofonix</nodes>
<ping_args>-c 20 -i 0.25 192.168.72.135</ping_args>
<svr_id>rfsim5g_ext_dn</svr_id>
<svr_node>cacofonix</svr_node>
<ping_args>-c 20 -i 0.25</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
@@ -90,7 +92,9 @@
<desc>Ping NR-UE from ext-dn</desc>
<id>rfsim5g_ext_dn</id>
<nodes>cacofonix</nodes>
<ping_args>-c 20 -i 0.25 12.1.1.2</ping_args>
<svr_id>rfsim5g_ue</svr_id>
<svr_node>cacofonix</svr_node>
<ping_args>-c 20 -i 0.25</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>