CI: Create FHI7.2 test with Metanoia RU, 2 layers in DL
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
<table style="border-collapse: collapse; border: none;">
|
||||
<tr style="border-collapse: collapse; border: none;">
|
||||
<td style="border-collapse: collapse; border: none;">
|
||||
<a href="http://www.openairinterface.org/">
|
||||
<img src="../../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
|
||||
</img>
|
||||
</a>
|
||||
</td>
|
||||
<td style="border-collapse: collapse; border: none; vertical-align: center;">
|
||||
<b><font size = "5">OAI O-RAN 7.2 Front-haul Docker Compose</font></b>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||

|
||||
|
||||
This docker-compose is designed to use `OAI-gNB` with a 7.2 compatible Radio Unit. Before using this docker compose you have to configure
|
||||
the host machine as per the [ORAN_FHI7.2_Tutorial](../../../doc/ORAN_FHI7.2_Tutorial.md). The container image used by the docker compose file is tested only on `Ubuntu 22.04` and `RHEL 9.4` docker host.
|
||||
|
||||
## Build Image (Optional)
|
||||
|
||||
Refer to [OAI Docker/Podman Build and Usage Procedures](../../../docker/README.md)
|
||||
|
||||
## Configure Networking
|
||||
|
||||
### SR-IOV Virtual Functions (VFs)
|
||||
|
||||
In docker-compose environment there is no automated method
|
||||
to configure the VFs on the fly. The user will have to manually configure
|
||||
C/U plane VFs before starting the container `OAI-gNB`.
|
||||
|
||||
You can follow the step
|
||||
[configure-network-interfaces-and-dpdk-vfs](../../../doc/ORAN_FHI7.2_Tutorial.md#configure-network-interfaces-and-dpdk-vfs).
|
||||
|
||||
### Interface towards AMF (N2)
|
||||
|
||||
For `N2` interface we are using `macvlan` driver of docker.
|
||||
|
||||
You can use the `bridge` driver, in situation
|
||||
|
||||
- When the core network is running on the same machine
|
||||
- or different machine but you have configured
|
||||
needed `ip route` and forwarding to access the core network from RAN host.
|
||||
|
||||
To configure docker `macvlan` network
|
||||
you need to choose `ipam.config` and `driver_opts.parent` are per your environment
|
||||
|
||||
```
|
||||
oai-net:
|
||||
driver: macvlan
|
||||
name: oai-net
|
||||
ipam:
|
||||
config:
|
||||
- subnet: "172.21.16.0/22"
|
||||
ip_range: "172.21.18.20/32"
|
||||
gateway: "172.21.19.254"
|
||||
driver_opts:
|
||||
com.docker.network.bridge.name: "oai-net"
|
||||
parent: ens7f0
|
||||
```
|
||||
|
||||
To configure `bridge` network you need to choose `ipam.config.subnet` as per your environment.
|
||||
|
||||
```
|
||||
oai-net:
|
||||
driver: bridge
|
||||
name: oai-net
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.72.128/26
|
||||
driver_opts:
|
||||
com.docker.network.bridge.name: "oai-net"
|
||||
```
|
||||
|
||||
## Deploy OAI-gNB Container
|
||||
|
||||
The [configuration file](../../conf_files/gnb.sa.band77.273prb.fhi72.4x4.2L-metanoia.conf) used by docker compose is configured for Metanoia RU.
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
To check the logs
|
||||
|
||||
```bash
|
||||
docker logs oai-gnb -f
|
||||
```
|
||||
@@ -0,0 +1,40 @@
|
||||
services:
|
||||
oai-gnb:
|
||||
image: ${REGISTRY:-oaisoftwarealliance}/oai-gnb-fhi72:${TAG:-develop}
|
||||
cap_add:
|
||||
- SYS_ADMIN
|
||||
- IPC_LOCK
|
||||
- SYS_NICE
|
||||
cap_drop:
|
||||
- ALL
|
||||
container_name: oai-gnb
|
||||
environment:
|
||||
TZ: Europe/Paris
|
||||
USE_ADDITIONAL_OPTIONS: --sa --thread-pool 7,8,9,10,11,12
|
||||
devices:
|
||||
- /dev/vfio:/dev/vfio/
|
||||
volumes:
|
||||
- ../../conf_files/gnb.sa.band77.273prb.fhi72.4x4.2L-metanoia.conf:/opt/oai-gnb/etc/gnb.conf
|
||||
- /dev/hugepages:/dev/hugepages
|
||||
# Please change these values based on your system
|
||||
cpuset: "0,1,2,3,4,5,6,7,8,9,10,11,12"
|
||||
networks:
|
||||
oai-net:
|
||||
ipv4_address: 172.21.18.20
|
||||
healthcheck:
|
||||
test: /bin/bash -c "pgrep nr-softmodem"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
networks:
|
||||
oai-net:
|
||||
driver: macvlan
|
||||
name: oai-net
|
||||
ipam:
|
||||
config:
|
||||
- subnet: "172.21.16.0/22"
|
||||
ip_range: "172.21.18.20/32"
|
||||
gateway: "172.21.19.254"
|
||||
driver_opts:
|
||||
com.docker.network.bridge.name: "oai-net"
|
||||
parent: ens7f0
|
||||
@@ -0,0 +1,5 @@
|
||||
set -e
|
||||
sudo cpupower idle-set -E > /dev/null
|
||||
sudo sysctl kernel.sched_rt_runtime_us=950000
|
||||
sudo sysctl kernel.timer_migration=1
|
||||
exit 0
|
||||
@@ -0,0 +1,20 @@
|
||||
set -e
|
||||
sudo cpupower idle-set -D 0 > /dev/null
|
||||
sudo sysctl kernel.sched_rt_runtime_us=-1
|
||||
sudo sysctl kernel.timer_migration=0
|
||||
sudo ethtool -G ens7f1 rx 8160 tx 8160
|
||||
sudo sh -c 'echo 0 > /sys/class/net/ens7f1/device/sriov_numvfs'
|
||||
sudo sh -c 'echo 3 > /sys/class/net/ens7f1/device/sriov_numvfs'
|
||||
sudo modprobe -r iavf
|
||||
sudo modprobe iavf
|
||||
# this next 2 lines is for C/U planes
|
||||
sudo ip link set ens7f1 vf 0 mac 00:11:22:33:44:55 vlan 3 spoofchk off mtu 9000
|
||||
sudo ip link set ens7f1 vf 1 mac 00:11:22:33:44:54 vlan 3 spoofchk off mtu 9000
|
||||
sleep 1
|
||||
# These are the DPDK bindings for C/U-planes on vlan 1
|
||||
sudo /usr/local/bin/dpdk-devbind.py --unbind c3:11.0
|
||||
sudo /usr/local/bin/dpdk-devbind.py --unbind c3:11.1
|
||||
sudo modprobe vfio-pci
|
||||
sudo /usr/local/bin/dpdk-devbind.py --bind vfio-pci c3:11.0
|
||||
sudo /usr/local/bin/dpdk-devbind.py --bind vfio-pci c3:11.1
|
||||
exit 0
|
||||
Reference in New Issue
Block a user