OpenAirInterface Core Network Docker Deployment : Running it |
First launch tshark
on each container. Not necessary, but useful if you want us to help debugging issues.
$ docker exec -d prod-oai-hss /bin/bash -c "nohup tshark -i eth0 -i eth1 -w /tmp/hss_check_run.pcap 2>&1 > /dev/null"
$ docker exec -d prod-oai-mme /bin/bash -c "nohup tshark -i eth0 -i lo:s10 -w /tmp/mme_check_run.pcap 2>&1 > /dev/null"
$ docker exec -d prod-oai-spgwc /bin/bash -c "nohup tshark -i eth0 -i lo:p5c -i lo:s5c -w /tmp/spgwc_check_run.pcap 2>&1 > /dev/null"
$ docker exec -d prod-oai-spgwu-tiny /bin/bash -c "nohup tshark -i eth0 -w /tmp/spgwu_check_run.pcap 2>&1 > /dev/null"
On CentOS images, we have installed tcpdump
instead of tshark
:
$ docker exec -d prod-oai-hss /bin/bash -c "nohup tcpdump -f "port not 22" -i any -w /tmp/hss_check_run.pcap 2>&1 > /dev/null"
$ docker exec -d prod-oai-mme /bin/bash -c "nohup tcpdump -f "port not 22" -i any -w /tmp/mme_check_run.pcap 2>&1 > /dev/null"
$ docker exec -d prod-oai-spgwc /bin/bash -c "nohup tcpdump -f "port not 22" -i any -w /tmp/spgwc_check_run.pcap 2>&1 > /dev/null"
$ docker exec -d prod-oai-spgwu-tiny /bin/bash -c "nohup tcpdump -f "port not 22" -i any -w /tmp/spgwu_check_run.pcap 2>&1 > /dev/null"
THE ORDER OF LAUNCH MATTERS.
$ docker exec -d prod-oai-hss /bin/bash -c "nohup ./bin/oai_hss -j ./etc/hss_rel14.json --reloadkey true > hss_check_run.log 2>&1"
$ sleep 2
$ docker exec -d prod-oai-mme /bin/bash -c "nohup ./bin/oai_mme -c ./etc/mme.conf > mme_check_run.log 2>&1"
$ sleep 2
$ docker exec -d prod-oai-spgwc /bin/bash -c "nohup ./bin/oai_spgwc -o -c ./etc/spgw_c.conf > spgwc_check_run.log 2>&1"
$ sleep 2
$ docker exec -d prod-oai-spgwu-tiny /bin/bash -c "nohup ./bin/oai_spgwu -o -c ./etc/spgw_u.conf > spgwu_check_run.log 2>&1"
$ docker exec -it prod-oai-hss /bin/bash -c "killall --signal SIGINT oai_hss tshark tcpdump"
$ docker exec -it prod-oai-mme /bin/bash -c "killall --signal SIGINT oai_mme tshark tcpdump"
$ docker exec -it prod-oai-spgwc /bin/bash -c "killall --signal SIGINT oai_spgwc tshark tcpdump"
$ docker exec -it prod-oai-spgwu-tiny /bin/bash -c "killall --signal SIGINT oai_spgwu tshark tcpdump"
$ sleep 10
$ docker exec -it prod-oai-hss /bin/bash -c "killall --signal SIGKILL oai_hss tshark tcpdump"
$ docker exec -it prod-oai-mme /bin/bash -c "killall --signal SIGKILL oai_mme tshark tcpdump"
$ docker exec -it prod-oai-spgwc /bin/bash -c "killall --signal SIGKILL oai_spgwc tshark tcpdump"
$ docker exec -it prod-oai-spgwu-tiny /bin/bash -c "killall --signal SIGKILL oai_spgwu tshark tcpdump"
$ rm -Rf archives
$ mkdir -p archives/oai-hss-cfg archives/oai-mme-cfg archives/oai-spgwc-cfg archives/oai-spgwu-cfg
First retrieve the modified configuration files
$ docker cp prod-oai-hss:/openair-hss/etc/. archives/oai-hss-cfg
$ docker cp prod-oai-mme:/openair-mme/etc/. archives/oai-mme-cfg
$ docker cp prod-oai-spgwc:/openair-spgwc/etc/. archives/oai-spgwc-cfg
$ docker cp prod-oai-spgwu-tiny:/openair-spgwu-tiny/etc/. archives/oai-spgwu-cfg
Then the logs.
$ docker cp prod-oai-hss:/openair-hss/hss_check_run.log archives
$ docker cp prod-oai-mme:/openair-mme/mme_check_run.log archives
$ docker cp prod-oai-spgwc:/openair-spgwc/spgwc_check_run.log archives
$ docker cp prod-oai-spgwu-tiny:/openair-spgwu-tiny/spgwu_check_run.log archives
Finally the PCAP.
$ docker cp prod-oai-hss:/tmp/hss_check_run.pcap archives
$ docker cp prod-oai-mme:/tmp/mme_check_run.pcap archives
$ docker cp prod-oai-spgwc:/tmp/spgwc_check_run.pcap archives
$ docker cp prod-oai-spgwu-tiny:/tmp/spgwu_check_run.pcap archives
Make a zip
$ zip -r -qq docker_files.zip archives
After a few hours of running, we see that MME crashes (refusing to attach UE).
Just stop, start MME, SPGW-*.
You are ready to generate some traffic.
By Ngoni
Run Cassandra and HSS inside docker container |
____________________________________________________________________________| sudo docker start prod-cassandra sudo docker start prod-oai-hss sudo docker exec -it prod-oai-hss /bin/bash ./bin/oai_hss -j ./etc/hss_rel14.json --reloadkey true
Run MME inside docker container |
___________________________________________________________________________| sudo docker start prod-oai-mme sudo docker exec -it prod-oai-mme /bin/bash ./bin/oai_mme -c ./etc/mme.conf
Run SPGWC in terminal inside docker container |
____________________________________________________________________________| sudo docker start prod-oai-spgwc sudo docker exec -it prod-oai-spgwc /bin/bash ./bin/oai_spgwc -o -c ./etc/spgw_c.conf
Run SPGWU inside docker container |
____________________________________________________________________________| sudo docker start prod-oai-spgwu-tiny sudo docker exec -it prod-oai-spgwu-tiny /bin/bash ./bin/oai_spgwu -o -c ./etc/spgw_u.conf
Stop cNF |
____________________________________________________________________________|
sudo docker stop prod-cassandra sudo docker stop prod-oai-hss sudo docker stop prod-oai-mme sudo docker stop prod-oai-spgwc sudo docker stop prod-oai-spgwu-tiny
Run ltesoftmodem i.e the eNB |
____________________________________________________________________________|
From the built openairinterface5G repository Go to '''bash cd cmake_targets/ran_build/build/ '''
``'bash sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
### Launch eNB
```bash
sudo ./lte-softmodem -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/**your confg file.conf**