HewlettPackard / PacketRusher

High performance 5G UE/gNB Simulator and CP/UP load tester.
Apache License 2.0
100 stars 21 forks source link

refactor config #46

Closed Raguideau closed 7 months ago

Raguideau commented 7 months ago

Types of changes

Now PacketRusher will search for config file under {binary's folder}/config/config.yml by default instead of in the config folder of the project.

Helper:

akiya@packetrusher:~/packetRusher$ ./packetrusher --help
NAME:
   packetrusher - A new cli application

USAGE:
   packetrusher [global options] command [command options] [arguments...]

COMMANDS:
   ue, ue                                      Launch a gNB and a UE with a PDU Session
                                               For more complex scenario and features, use instead packetrusher multi-ue

   gnb, gnb                                    Launch only a gNB
   multi-ue-pdu, multi-ue
                                               Load endurance stress tests.
                                               Example for testing multiple UEs: multi-ue -n 5
                                               This test case will launch N UEs. See packetrusher multi-ue --help

   custom-scenario, c
   amf-load-loop, amf-load-loop
                                               Test AMF responses in interval
                                               Example for generating 20 requests to AMF per second in interval of 20 seconds: amf-load-loop -n 20 -t 20

   Test availability of AMF, amf-availability
                                               Test availability of AMF in interval
                                               Test availability of AMF in 20 seconds: amf-availability -t 20

   help, h                                     Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --config value  Configuration file path. (Default: ./config/config.yml)
   --help, -h      show help

With config path:

sudo ./packetrusher multi-ue -n 1 --config ../testconf.yaml
INFO[0000] Loaded config at: ../testconf.yaml
INFO[0000] PacketRusher version 1.0.1
INFO[0000] ---------------------------------------
INFO[0000] [TESTER] Starting test function: Testing registration of multiple UEs
INFO[0000] [TESTER][UE] Number of UEs: 1
INFO[0000] [TESTER][GNB] gNodeB control interface IP/Port: 127.0.0.1/9487
INFO[0000] [TESTER][GNB] gNodeB data interface IP/Port: 127.0.0.1/2152
INFO[0000] [TESTER][AMF] AMF IP/Port: 127.0.1.5/38412
INFO[0000] ---------------------------------------

With default config:

sudo ./packetrusher multi-ue -n 1
INFO[0000] Loaded config at: /home/akiya/packetRusher/config/config.yml
INFO[0000] PacketRusher version 1.0.1
INFO[0000] ---------------------------------------
INFO[0000] [TESTER] Starting test function: Testing registration of multiple UEs
INFO[0000] [TESTER][UE] Number of UEs: 1
INFO[0000] [TESTER][GNB] gNodeB control interface IP/Port: 192.168.11.13/9487
INFO[0000] [TESTER][GNB] gNodeB data interface IP/Port: 192.168.11.13/2152
INFO[0000] [TESTER][AMF] AMF IP/Port: 192.168.11.30/38412
INFO[0000] ---------------------------------------

With default config from outside of project root folder:

sudo ./packetrusher multi-ue -n 1
FATA[0000] Could not open config at "/home/akiya/config/config.yml". open /home/akiya/config/config.yml: no such file or directory