Describe how to reproduce CI
This commit is contained in:
@@ -165,3 +165,53 @@ Webhook ~documentation ~BUILD-ONLY ~4G-LTE ~5G-NR
|
||||
- [RAN-SA-Module-CN5G](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-SA-Module-CN5G/)
|
||||
- asterix + N310 (gNB), nrmodule2 + Quectel, porcepix w/ OAI 5GC
|
||||
- NR 2x2 (standalone)
|
||||
|
||||
## How to reproduce CI results
|
||||
|
||||
The CI builds docker images at the beginning of every test run. To see the
|
||||
exact command line steps, please refer to the `docker/Dockerfile.build.*`
|
||||
files. Note that the console log of each pipeline run also lists the used
|
||||
docker files.
|
||||
|
||||
The CI uses these images for *most* of the pipelines. It uses docker-compose to
|
||||
orchestrate the images. To identify the docker-compose file, follow these
|
||||
steps:
|
||||
|
||||
1. Each CI test run HTML lists the XML file used for a particular test run.
|
||||
Open the corresponding XML file under `ci-scripts/xml_files/`.
|
||||
2. The XML file has a "test case" that refers to deployment of the image; it
|
||||
will reference a directory containing a YAML file (the docker-compose file)
|
||||
using option `yaml_path`, which will be under `ci-scripts/yaml_files/`. Go
|
||||
to this directory and open the docker-compose file.
|
||||
3. The docker-compose file can be used to run images locally, or you can infer
|
||||
the used configuration file and possible additional options that are to be
|
||||
passed to the executable to run from source.
|
||||
|
||||
For instance, to see how the CI runs the multi-UE 5G RFsim test case, the above
|
||||
steps look like this:
|
||||
|
||||
1. The first tab in the 5G RFsim test mentions
|
||||
`xml_files/container_5g_rfsim.xml`, so open
|
||||
`ci-scripts/xml_files/container_5g_rfsim.xml`.
|
||||
2. This XML file has a `DeployGenObject` test case, referencing the directory
|
||||
`yaml_files/5g_rfsimulator`. The corresponding docker-compose file path is
|
||||
`ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml`.
|
||||
3. To know how to run the gNB, realize that there is a section `oai-gnb`. It
|
||||
mounts the configuration
|
||||
`ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.conf` (note that the path
|
||||
is relative to the directory in which the docker-compose file is located).
|
||||
Further, an environment variable `USE_ADDITIONAL_OPTIONS` is declared,
|
||||
referencing the relevant options `--sa -E --rfsim` (you can ignore logging
|
||||
options). You would therefore run the gNB from source like this:
|
||||
```
|
||||
sudo ./cmake_targets/ran_build/build/nr-softmodem -O ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.conf --sa -E --rfsim
|
||||
```
|
||||
To run this on your local machine, assuming you have a 5GC installed, you
|
||||
might need to change IP information in the config to match your core.
|
||||
|
||||
If you wish, you can rebuild CI images locally following [these
|
||||
steps](../docker/README.md) and then use the docker-compose file directly.
|
||||
|
||||
Some tests are run from source (e.g.
|
||||
`ci-scripts/xml_files/gnb_phytest_usrp_run.xml`), which directly give the
|
||||
options they are run with.
|
||||
|
||||
Reference in New Issue
Block a user