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