Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: deploy commit & image tags for oai-nfapi-sim-compose #552

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions docs/deployments/oai-nfapi-sim-compose/README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,28 @@
# OpenAir Core + OpenAir RAN as a docker-compose
We will use 5G L2 nFAPI simulator to test L2 and above Layers. Let's pull Eurecom's deployment for 5G SA mode with 1 User: [OAI Full Stack 5G-NR L2 simulation with containers and a proxy](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tree/develop/ci-scripts/yaml_files/5g_l2sim_tdd) and replace the UPF with our eUPF.
We will use 5G L2 nFAPI simulator to test L2 and above Layers. Let's pull Eurecom's deployment for 5G SA mode with 1 User: [OAI Full Stack 5G-NR L2 simulation with containers and a proxy](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tree/v2.1.0/ci-scripts/yaml_files/5g_l2sim_tdd) and replace the UPF with our eUPF.

📝This deploy uses `network_mode: "host"` for communications over `lo` interface of the host between containers oai-gnb, proxy, oai-nr-ue0.

We will add two services `edgecom-upf` and `edgecom-nat` with a dedicated network between. We have configured routing between the both, so that eUPF passes packets from the UE towards the NAT container, and the replies come through NAT to eUPF and down to the UE.

## How to deploy:
1. Deploy the whole project "OAI Full Stack 5G-NR L2 simulation with containers and a proxy"
following instructions https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/develop/ci-scripts/yaml_files/5g_l2sim_tdd/README.md
following instructions https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/v2.1.0/ci-scripts/yaml_files/5g_l2sim_tdd/README.md
Use `git checkout v2.1.0`

<details><summary>TLDR: Look at our example where host interface name is `ens3` with IP addr `188.120.232.247`</summary>
<p>

```ruby
sergo@edgecom:~/gitlab$ git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git
sergo@edgecom:~/gitlab$ cd openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd/
sergo@edgecom:~/gitlab$ git clone -n https://gitlab.eurecom.fr/oai/openairinterface5g.git
sergo@edgecom:~/gitlab$ cd openairinterface5g/
sergo@edgecom:~/gitlab/openairinterface5g$ git checkout v2.1.0
Note: switching to 'v2.1.0'.
...
HEAD is now at f1d080d315 chore(ci): updating 5G rfsimulator scenarios to release v2.0


cd ci-scripts/yaml_files/5g_l2sim_tdd/

nano docker-compose.yaml
- DEFAULT_DNS_IPV4_ADDRESS=169.254.25.10 #172.21.3.100
Expand Down
14 changes: 11 additions & 3 deletions docs/deployments/oai-nfapi-sim-compose/docker-compose.override.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,23 @@ services:


oai-smf:
image: oaisoftwarealliance/oai-smf:v1.5.1
image: oaisoftwarealliance/oai-smf:v2.1.0
environment:
- DISCOVER_UPF=no
- USE_FQDN_DNS=no

oai-gnb:
image: oaisoftwarealliance/oai-gnb:v2.1.0
depends_on: !reset
- edgecom-upf
- oai-amf

oai-nr-ue0:
image: oaisoftwarealliance/oai-nr-ue:v2.1.0

edgecom-upf:
container_name: eupf
image: ghcr.io/edgecomllc/eupf:7086b71cb1dbc254db84c30e14fa4a68d3beb132
image: ghcr.io/edgecomllc/eupf:v0.6.4
privileged: true
command: --iface eth0 --iface eth1 --n3addr 192.168.71.134 --nodeid 192.168.71.134 --paddr 192.168.71.134:8805 --attach generic --loglvl trace --feature_ftup true --teid_pool 65535
volumes:
Expand Down Expand Up @@ -106,7 +110,7 @@ services:
ports:
- "8081:80"
environment:
- API_PORT=8080
- API_PORT=8880

networks:
privnet_n6:
Expand All @@ -116,3 +120,7 @@ networks:
- subnet: 10.100.250.0/24
driver_opts:
com.docker.network.bridge.name: br-oainfapi-n6

volumes:
prom_data:

7 changes: 4 additions & 3 deletions docs/deployments/oai-nfapi-sim-compose/nat/busy-poll.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash

#!/bin/sh
set -x
terminate=0
#_term() {
# echo "Caught SIGTERM signal!"
Expand All @@ -19,8 +19,9 @@ iptables -A FORWARD -j ACCEPT
#ip route add 10.60.0.0/16 via `nslookup upf.free5gc.org | awk '/^Address: / { print $2 }'` dev eth0
ip route add 10.60.0.0/16 via `nslookup upfn6.free5gc.org | awk '/^Address: / { print $2 }'`
ip route add 12.1.1.0/24 via `nslookup upfn6.free5gc.org | awk '/^Address: / { print $2 }'`
ip route show


set +x
while [ $terminate -ne 1 ]
do
sleep 10;
Expand Down
2 changes: 1 addition & 1 deletion docs/deployments/srsran-gnb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ This deployment helps to create an end-to-end fully open-source 5G network, cons

1. exec shell in UE pod

`kubectl -n srs-open5gs exec -ti statefulset/srsran-srs-5g -- /bin/bash`
`kubectl -n srs-open5gs exec -ti statefulset/srsran-srsran5gue-zmq-gnb -- /bin/bash`

2. run ICMP test

Expand Down
2 changes: 1 addition & 1 deletion docs/deployments/srsran-gnb/values/eupf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ image:
registry: ghcr.io
repository: edgecomllc
name: eupf
tag: 893648fecb05faf4b92656647f26922b34148a6c
tag: main
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the latest tag instead pls

pullPolicy: Always

args:
Expand Down
16 changes: 12 additions & 4 deletions docs/docs-ru_ru/deployments/oai-nfapi-sim-compose/README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,29 @@
# OpenAir Core + OpenAir RAN as a docker-compose

В данной инструкции используется 5G L2 nFAPI симулятор из проекта OpenAirInterface для эмуляции радиосети и eUPF модуль в качестве замены штатного модуля UPF. Развертывание основано на инструкции Eurecom для 5G SA режиме с 1 абонентом: [OAI Full Stack 5G-NR L2 simulation with containers and a proxy](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tree/develop/ci-scripts/yaml_files/5g_l2sim_tdd), в которой штатный UPF заменен на eUPF.
В данной инструкции используется 5G L2 nFAPI симулятор из проекта OpenAirInterface для эмуляции радиосети и eUPF модуль в качестве замены штатного модуля UPF. Развертывание основано на инструкции Eurecom для 5G SA режиме с 1 абонентом: [OAI Full Stack 5G-NR L2 simulation with containers and a proxy](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tree/f1d080d31515d3cc9a31a41fd548753ccba4f09f/ci-scripts/yaml_files/5g_l2sim_tdd), в которой штатный UPF заменен на eUPF.

📝В развертывании используется настройка `network_mode: "host"` для того, чтобы обеспечить взаимодействие через `lo` инерфейс хоста между контейнерами oai-gnb, proxy, oai-nr-ue0.

В развертывании используются 2 дополнительных сервиса `edgecom-upf` и `edgecom-nat` с отдельной сетью для их взаимодействия. Роутинг в рамках этой сети организован таким образом, что eUPF передает сетевые пакеты от UE через NAT-контейнер, а ответные пакета идут через NAT-контейнер в сторону eUPF и далее в сторону UE.

## Инструкция по развертыванию
1. Разверните ядро сети и эмулятор радиосети согласно инструкции "OAI Full Stack 5G-NR L2 simulation with containers and a proxy"
по ссылке https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/develop/ci-scripts/yaml_files/5g_l2sim_tdd/README.md
по ссылке https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/f1d080d31515d3cc9a31a41fd548753ccba4f09f/ci-scripts/yaml_files/5g_l2sim_tdd/README.md
Переключитесь на `git checkout f1d080d31515d3cc9a31a41fd548753ccba4f09f`

<details><summary>TLDR: Пример команд для хоста с сетевым интерфейсом `ens3` и IP-адресом `188.120.232.247`</summary>
<p>

```ruby
sergo@edgecom:~/gitlab$ git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git
sergo@edgecom:~/gitlab$ cd openairinterface5g/ci-scripts/yaml_files/5g_l2sim_tdd/
sergo@edgecom:~/gitlab$ git clone -n https://gitlab.eurecom.fr/oai/openairinterface5g.git
sergo@edgecom:~/gitlab$ cd openairinterface5g/
sergo@edgecom:~/gitlab/openairinterface5g$ git checkout f1d080d31515d3cc9a31a41fd548753ccba4f09f
Note: switching to 'f1d080d31515d3cc9a31a41fd548753ccba4f09f'.
...
HEAD is now at f1d080d315 chore(ci): updating 5G rfsimulator scenarios to release v2.0


cd ci-scripts/yaml_files/5g_l2sim_tdd/

nano docker-compose.yaml
- DEFAULT_DNS_IPV4_ADDRESS=169.254.25.10 #172.21.3.100
Expand Down
2 changes: 1 addition & 1 deletion docs/docs-ru_ru/deployments/srsran-gnb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@

1. запустите оболочку shell в поде UE1

`kubectl -n open5gs exec -ti statefulset/srsran-srs-5g -- /bin/bash`
`kubectl -n srs-open5gs exec -ti statefulset/srsran-srsran5gue-zmq-gnb -- /bin/bash`

2. проверьте доступность сети с помошью команды ping

Expand Down
Loading