From 23bd181d0129bda04e31e10022ad6507897855e9 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 20 Feb 2024 16:49:40 -0300 Subject: [PATCH] Add script for OAI 5G Core slicing --- .../oai_5g_slicing_core.sh | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100755 openairinterface5g/openairinterface-install-scripts/oai_5g_slicing_core.sh diff --git a/openairinterface5g/openairinterface-install-scripts/oai_5g_slicing_core.sh b/openairinterface5g/openairinterface-install-scripts/oai_5g_slicing_core.sh new file mode 100755 index 00000000..76385036 --- /dev/null +++ b/openairinterface5g/openairinterface-install-scripts/oai_5g_slicing_core.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +## Install dependencies +sudo apt-get install ca-certificates -y +sudo apt-get install curl -y +sudo apt-get install gnupg -y +sudo apt-get install lsb-release -y + + +## Installation Wireshark +sudo add-apt-repository ppa:wireshark-dev/stable -y +sudo apt update -y +sudo apt install wireshark -y + + +# Work directory path is the current directory +WORK_DIR=$HOME + + +## Configuration of the packer forwarding +sudo sysctl net.ipv4.conf.all.forwarding=1 +sudo iptables -P FORWARD ACCEPT + + +## Install docker and docker-compose +sudo rm /etc/apt/sources.list.d/docker.list* +sudo mkdir -p /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg +echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get update +sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin +sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose +sudo chmod +x /usr/local/bin/docker-compose + +## Stop and Remove all containers and images +sudo docker stop $(sudo docker ps -a -q) +sudo docker rm $(sudo docker ps -a -q) +sudo docker rmi $(sudo docker images -a -q) + +## Pulling the images from Docker Hub +sudo docker pull oaisoftwarealliance/oai-amf:v2.0.1 +sudo docker pull oaisoftwarealliance/oai-nrf:v2.0.1 +sudo docker pull oaisoftwarealliance/oai-smf:v2.0.1 +sudo docker pull oaisoftwarealliance/oai-udr:v2.0.1 +sudo docker pull oaisoftwarealliance/oai-udm:v2.0.1 +sudo docker pull oaisoftwarealliance/oai-ausf:v2.0.1 +sudo docker pull oaisoftwarealliance/oai-spgwu-tiny:v2.0.1 +sudo docker pull oaisoftwarealliance/trf-gen-cn5g:latest + +## Tag Docker Images +sudo docker image tag oaisoftwarealliance/trf-gen-cn5g:latest trf-gen-cn5g:latest +sudo docker image tag oaisoftwarealliance/oai-amf:v2.0.1 oai-amf:v2.0.1 +sudo docker image tag oaisoftwarealliance/oai-nrf:v2.0.1 oai-nrf:v2.0.1 +sudo docker image tag oaisoftwarealliance/oai-smf:v2.0.1 oai-smf:v2.0.1 +sudo docker image tag oaisoftwarealliance/oai-udr:v2.0.1 oai-udr:v2.0.1 +sudo docker image tag oaisoftwarealliance/oai-udm:v2.0.1 oai-udm:v2.0.1 +sudo docker image tag oaisoftwarealliance/oai-ausf:v2.0.1 oai-ausf:v2.0.1 +sudo docker image tag oaisoftwarealliance/oai-spgwu-tiny:v2.0.1 oai-spgwu-tiny:v2.0.1 + + +## Remove OpenAirInterface 5G Core if directory exists +if [ -d "$WORK_DIR/oai-cn5g-fed" ]; then + sudo rm -r $WORK_DIR/oai-cn5g-fed +fi + +## Clone OpenAirInterface 5G Core +cd $WORK_DIR +git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git +cd $WORK_DIR/oai-cn5g-fed +git checkout -f v2.0.1 + +## Synchronizing the tutorials +sudo ./scripts/syncComponents.sh +git submodule deinit --all --force +git submodule init +git submodule update + +## Create the bridge 5GC +sudo docker network create --driver=bridge --subnet=192.168.70.128/26 -o "com.docker.network.bridge.name"="demo-oai" demo-oai-public-net + +## Deploy the 5GC +cd $WORK_DIR/oai-cn5g-fed/docker-compose +docker-compose -f docker-compose-slicing-basic-nrf.yaml up -d + +## Docker post-installation +# Enabling current user to run docker commands +sudo usermod -aG docker $USER -- GitLab