Using containers - my5G/my5G-RANTester GitHub Wiki

Prerequisites

GTP5G kernel module

Due to the UPF issue, it should contain gtp5g kernel module with kernel version 5.0.0-23-generic.

On you host OS before running containers execute:

git clone https://github.com/PrinzOwO/gtp5g.git
cd gtp5g
make
sudo make install

Docker engine

To install docker on your favorite OS, you can follow instruction here: https://docs.docker.com/engine/install

Docker compose

You also need to install docker compose as detailed here: https://docs.docker.com/compose/install/

Start my5GCore(free5gcore stage 3 with version v3.0.4) and my5G-RANTester(a gNB/UE simulator)

https://github.com/my5G/my5G-RANTester-docker.git
cd my5G-RANTester-docker
make base
docker-compose build
sudo docker-compose up -d

You can check tester container using docker command:

docker ps 
docker exec -it "container id that running Tester" /bin/bash

If everything worked fine, you will see some interfaces with prefix uetun inside of Tester container. Using them to test data plane of each UE:

ping google.com -I uetun1

If not check values in config.yml about UE(imsi,key,opc,amf), as illustrated below. The same values must be registered in the 5G core under evaluation since they are used by the my5G-RANTester during the tests. For example:

ue:
  imsi: "imsi-2089300000001"
  key: "70d49a71dd1a2b806a25abe0ef749f1e"
  opc: "6f1bf53d624b3a43af6592854e2444c7"
  amf: "8000"

If you are in the host that containers are running you can use script include_ues.sh to added imsi and other information that will use by Tester . As show below:

./include_ues.sh <number of UEs that you want to test in load tests>  

Remember to restart containers after added imsi and other information by webconsole:

sudo docker-compose down
sudo docker-compose up -d

You can see logs for each service using docker logs command:

docker-compose logs tester

In line 212 in docker-compose.yaml you can modify command and select another type of test(for example load-test -n 10, see WIKI for more information):

tester:
    container_name: tester
    build:
      context: ./nf_tester
    command: ./app load-test -n 10