ajay | b3f4098 | 2021-12-08 14:26:11 -0800 | [diff] [blame] | 1 | .. |
| 2 | SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org> |
| 3 | SPDX-License-Identifier: Apache-2.0 |
| 4 | |
Ankur Upadhyaya | 678a365 | 2021-12-08 11:56:25 +0530 | [diff] [blame] | 5 | TestPod |
ajay | 60fd69f | 2021-11-23 22:38:10 -0800 | [diff] [blame] | 6 | ======== |
| 7 | |
Ankur Upadhyaya | c061034 | 2021-12-09 17:55:15 +0530 | [diff] [blame] | 8 | .. image:: ../_static/images/TestPod.png |
| 9 | :width: 700px |
| 10 | |
Ankur Upadhyaya | d860531 | 2021-12-03 12:38:35 +0530 | [diff] [blame] | 11 | Description |
| 12 | ----------- |
| 13 | Testpod is developer tool to simulate 5G NFs and control NF behaviour as |
| 14 | per test case requirement. Currently, it simulates AMF, NRF, PCF, UDM and UPF. |
| 15 | While all other NFs run virtually on single pod, SMF runs on actual image on another pod. |
| 16 | |
| 17 | The Testpod can be run locally on any environment having miniKube via helm test package |
| 18 | file present in repository OR locally as in binary mode. |
| 19 | |
Ankur Upadhyaya | 678a365 | 2021-12-08 11:56:25 +0530 | [diff] [blame] | 20 | How to use TestPod |
ajay | 60fd69f | 2021-11-23 22:38:10 -0800 | [diff] [blame] | 21 | ------------------ |
Ankur Upadhyaya | d860531 | 2021-12-03 12:38:35 +0530 | [diff] [blame] | 22 | |
Ankur Upadhyaya | 678a365 | 2021-12-08 11:56:25 +0530 | [diff] [blame] | 23 | * Repository |
| 24 | * `https://github.com/omec-project/testpod5G.git` |
Ankur Upadhyaya | d860531 | 2021-12-03 12:38:35 +0530 | [diff] [blame] | 25 | |
Ankur Upadhyaya | 678a365 | 2021-12-08 11:56:25 +0530 | [diff] [blame] | 26 | * Execution |
| 27 | * Binary mode |
| 28 | * SMF (NF to be tested) |
| 29 | * Make SMF clone (`git clone --branch onf-release3.0.5 https://github.com/omec-project/smf.git --recursive`) |
| 30 | * Change SMF PFCP port to 8806 (lib/pfcp/pfcpUdp/udp.go PFCP_PORT = 8806) |
| 31 | * Compile SMF (go build) |
| 32 | * Run SMF image(./smf -smfcfg ../../config/smfcfg.yaml -uerouting ../../config/uerouting.yaml) |
| 33 | * UPF (Only PFCP layer) |
| 34 | * Make UPF clone (`git clone https://github.com/badhrinathpa/upf-epc.git`) |
| 35 | * git checkout "sim_fast_path" branch |
| 36 | * cd pfcpiface and do "go build" |
| 37 | * Run UPF pfcp image (./pfcpiface -config ../conf/upf.json) |
| 38 | * TestPod App |
| 39 | * Make Testpod clone (`git clone https://github.com/omec-project/testpod5G.git`) |
| 40 | * Compile Testpod image(go build) |
| 41 | * Run Testpod image as AMF to test SMF ( ./testpod amf ) |
| 42 | * Update local DNS table as following (/etc/hosts) |
| 43 | * # Testpod specific |
| 44 | * 127.0.0.1 upf |
| 45 | * 127.0.0.1 smf |
| 46 | * 127.0.0.1 nrf |
| 47 | * 127.0.0.1 pcf |
| 48 | * 127.0.0.1 amf |
| 49 | * 127.0.0.1 udm |
| 50 | |
| 51 | * Minikube mode |
| 52 | * Install minikube using Homebrew (brew install minikube) |
| 53 | * Make Testpod clone (`git clone https://github.com/omec-project/testpod5G.git`) |
| 54 | * To test SMF(precondition- UPF should be running) |
| 55 | * helm install smftest ./helm/smf/ |