Commit Graph
27864 Commits
Author SHA1 Message Date
Robert Schmidt d81abdaf7b Reimplement Native Build (CI step Build_eNB)
The BuildeNB steps either does things that are already implemented
(created workspace), or things that we don't use (separate build_wait),
and is generally quite convoluted when all it does is calling build_oai.
Reimplement by reusing Create_Workspace, and make build_oai in a single
step. To clean up, make a new module in which this function does not
need a class instantiation. Instead, we give all necessary parameters
directly.
2024-09-28 12:45:34 +02:00
Robert Schmidt 3feaa93ba0 cls_cmd: print the host on which a command is executed 2024-09-28 12:45:34 +02:00
Robert Schmidt 0d63861bf1 cls_cmd.py: local copy: don't copy if src/tgt identical 2024-09-28 12:45:34 +02:00
Robert Schmidt f21b5d2ef4 CI: Add basic unittest for cls_cmd 2024-09-28 12:45:33 +02:00
Robert Schmidt 606e2c749a cls_cmd: execute commands through bash
The next commit will use "echo -e". The problem with that is that bash
and sh differ:

- in bash: this results in "a\nb" (a+newline+b)
- in sh: this results in -e a\nb (-e a+newline+b)

The problem is that by default, commands are executed through sh, which
nobody expects. Change to bash, which is likely more aligned with what
people want to use.
2024-09-28 12:45:33 +02:00
Robert Schmidt 5d5ade1697 Remove superfluous cleanup/terminate/teardown XMLs
After the previous commit, the CI will always do an undeployment step
even if the CI failed. Hence, these XMLs are not necessary anymore. Some
XMLs are updated to do what their "cleanup XML" counterparts did, such
as removing additional images.
2024-09-28 12:45:07 +02:00
Robert Schmidt 8bdc399b27 Remove AutoTerminateUEeNB() functions, use auto_exec to make CI always undeploy 2024-09-28 12:45:07 +02:00
Robert Schmidt 041b2b2d7a Remove prematureExit/exitStatus, and implement in task main loop
Use the previous commit on returning success from each task execution
function, and implement handling of errors in the main loop. Add a
script with which this is visible using Custom_Commands.
2024-09-28 12:45:07 +02:00
Robert Schmidt 7b89548867 Consistently return success true/false from task steps 2024-09-28 12:45:07 +02:00
Robert Schmidt e969ddb897 IdleSleep(): no need for class members 2024-09-28 12:45:07 +02:00
Robert Schmidt 71807db4ab Custom_Command(): no need for class members 2024-09-28 12:45:07 +02:00
Robert Schmidt 61ea76e7af Remove CI repeatCount XML property
The repeatCount property is useless: it would be enough to specify the
same XML multiple times to achieve the same thing.
2024-09-28 12:45:07 +02:00
Robert Schmidt 77a8f5fa99 Basic test runner script 2024-09-28 12:45:07 +02:00
Robert Schmidt d108648312 Handle parameter reading and test case execution together
For reasons I don't understand, the XML option reading and actual test
case execution are at different places in the code. This is problematic,
because what this led to is that options are not passed as function
arguments, but indirectly through class members. This led to a lot of
"indirect code"; it's a total mess

To improve this, move them together, so that parameters can be passed
directly as function arguments later on.

Because we reference the globals, mark them inside
ExecuteActionWithParam(). That is a Python antipattern, but necessary at
this moment. I believe that we can remove the following globals over
time:

- SSH (with new cls_cmd, which we don't need to pass)
- EPC (replaced through a class similar to ue_module, i.e., refer to
  core networks on specific hosts through an ID, instead of a global)
- HTML (should use templating, where individual functions give back a
  dictionary of what they want to print, and a final pass assembles the
  entire HTML file)
- RAN/SCA/PHYSIM/CLUSTER/ldpc (can be replaced with stateless scripts
  build/run eNB/gNB on a specific node)
2024-09-28 12:45:07 +02:00
Jaroslava Fiedlerova e9f9718f63 CI: add more unit tests for UDP iperf3 analysis function 2024-09-28 12:45:07 +02:00
Jaroslava Fiedlerova 5fd5ed43c7 CI: Adjust regex patterns for Iperf3 UDP log parsing
Update the regex for both sender and receiver data to allow optional
bitrate unit prefixes - accepts also no prefix. Modify the patterns for
lost and total packets to accept negative values (`-?\d+`).
2024-09-28 12:45:07 +02:00
Jaroslava Fiedlerova 9d92c0e477 CI: add unit test for UDP iperf3 analysis function 2024-09-28 12:45:07 +02:00
Jaroslava Fiedlerova 1ba5677056 CI: get UDP iperf3 results even if packet count is negative 2024-09-28 12:45:07 +02:00
Robert Schmidt 0da2f27fa7 CI Ping/Iperf: add tests, print without lock, reduce code lines
Add some basic unit tests to verify that Iperf/Ping work. Harmonize the
logging by only print in the "main" iperf/ping function, to avoid that
if we test with multiple UEs, the output intermixes. Also, do one common
mkdir before starting multiple pings/iperfs. Finally, harmonize the
paths so that Iperf and Ping log their files in the same place.
2024-09-28 12:45:07 +02:00
Robert Schmidt 02d5f953a8 Add simple unit test cases for Deployment, including instructions 2024-09-27 19:59:54 +02:00
Robert Schmidt 25f7f61d73 Simplify GetContainerHealth(): we never use unhealthy count 2024-09-27 19:59:54 +02:00
Robert Schmidt 4bf7c45be1 SSHConnection class: don't exit, raise Exception to have main loop handle 2024-09-27 19:59:54 +02:00
Robert Schmidt 1620994f0a DeployObject: EPC not needed 2024-09-27 19:59:54 +02:00
Robert Schmidt 7c1920aea9 Fixup: no HTML in create_workspace, so can't print to HTML 2024-09-27 19:59:54 +02:00
Robert Schmidt 6f868b038f Remove more unused CI files 2024-09-27 19:59:54 +02:00
Robert Schmidt cded721189 Remove unused CI XML and Python code 2024-09-27 19:50:41 +02:00
Jaroslava Fiedlerova 6d09b2179e Merge remote-tracking branch 'origin/NR_UE_UL_time_alignment' into integration_2024_w39 2024-09-27 17:40:15 +02:00
Guido Casati 5daad21ca6 Reworked F1AP documentation and added info about the library
* moved F1AP related docs to a separate folder in docs
2024-09-27 17:39:00 +02:00
Guido Casati 3aa9f4c0be Use F1 gNB-DU Configuration Update Acknowledge lib in stack 2024-09-27 17:39:00 +02:00
Guido Casati b8ee622f1c Add test for F1 DU Configuration Update Acknowledge lib 2024-09-27 17:38:55 +02:00
Guido Casati b91e1b0a12 Add enc/dec lib for F1AP gNB-DU Configuration Update Acknowledge (Interface Management) 2024-09-27 17:38:52 +02:00
Guido Casati 3ce1f0e2c5 Use F1 gNB-CU Configuration Update Acknowledge lib in stack 2024-09-27 17:38:51 +02:00
Guido Casati c936aabd9a Add test for CU Configuration Update Acknowledge lib 2024-09-27 17:38:43 +02:00
Guido Casati 3724e84fed Add enc library for F1 gNB-CU Configuration Update Acknowledge (Interface Management) 2024-09-27 17:38:38 +02:00
Guido Casati d2863d9693 Refactored f1ap_gnb_cu_configuration_update_acknowledge_t
* add transaction_id
* refactored remaining members
2024-09-27 17:38:38 +02:00
Guido Casati 80a05271d6 Use F1AP gNB-CU Configuration Update lib in stack 2024-09-27 17:38:38 +02:00
Guido Casati 3626366228 Add test for F1 gNB-CU Configuration Update enc/dec lib 2024-09-27 17:38:38 +02:00
Guido Casati 8e3d6583a5 Add enc/dec library for F1AP gNB-CU Configuration Update (Interface Management) 2024-09-27 17:38:38 +02:00
Guido Casati c416c57f92 Simplified F1AP gNB-CU Configuration Update message struct
* removed optional IEs, whose encoding/decoding is not done
2024-09-27 17:38:38 +02:00
Guido Casati 3b11764d1d Minor comments 2024-09-27 17:38:38 +02:00
Guido Casati 07da84ede2 Use F1 gNB-DU Configuration Update lib in stack 2024-09-27 17:38:38 +02:00
Guido Casati 2cc50832d1 Add test for F1AP gNB-DU Configuration Update enc/dec library 2024-09-27 17:38:38 +02:00
Guido Casati 9958e53cb1 Add encoding/decoding library for F1AP gNB-DU Configuration Update (Interface Management) 2024-09-27 17:38:38 +02:00
Guido Casati df62abca0c Removed gNB_CU_name from f1ap_gnb_du_configuration_update_t
* not defined in 9.2.1.8 of 3GPP TS 38.473
2024-09-27 17:38:38 +02:00
Guido Casati 289fdfe381 Use F1AP Setup Failure enc/dec lib in stack 2024-09-27 17:38:38 +02:00
Guido Casati 6146c470e2 Add test for F1AP Setup Failure enc/dec lib 2024-09-27 17:38:38 +02:00
Guido Casati 7e495db5ec Add encoding/decoding lib for F1 Setup Failure (interface management) 2024-09-27 17:38:38 +02:00
Guido Casati 28e2d67ee5 Fixes to F1 Setup Failure
* added missing Transaction ID to te F1 Setup Failure message struct
* fill F1 Setup Failure transaction ID in RRC before calling the F1 Setup Failure function
2024-09-27 17:38:38 +02:00
Guido Casati 3a5ace00d2 Use F1AP lib for F1 Setup Response in stack 2024-09-27 17:38:38 +02:00
Guido Casati df2c92e652 Add test for F1AP Setup Response enc/dec lib 2024-09-27 17:38:35 +02:00