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
Edited by Robert Schmidt

Merge request reports

Loading