Welcome to the tutorial home page of OAI 5g Core project. Here you can find lot of tutorials and help manuals. We regularly update these documents depending on the new feature set.
Go to [https://hub.docker.com/](https://hub.docker.com/)website and create an account.
Go to [docker-hub](https://hub.docker.com/) and create an account.
# 3. Pull base images #
...
...
@@ -65,7 +65,7 @@ Username:
Password:
```
Then pull base images.
All the network functions are using the same base image Ubuntu 18.04. If you want to build image of each network function then pull the base image, else you can pull the network function images from [rdefosseoai docker-hub](https://hub.docker.com/r/rdefosseoai)
On a Ubuntu18.04 host:
...
...
@@ -74,6 +74,15 @@ $ docker pull ubuntu:bionic
$ docker pull mysql/mysql-server:5.7
```
```bash
$ docker pull rdefosseoai/oai-amf
$ docker pull rdefosseoai/oai-nrf
$ docker pull rdefosseoai/oai-spgwu-tiny
$ docker pull rdefosseoai/oai-smf
```
Finally you may logoff --> your token is stored in plain text..
This tutorial will help in understanding how to deploy OAI core network using docker-compose. In this tutorial we have used [dsTest](https://www.developingsolutions.com/products/dstest-5g-core-network-testing/) a commercial paid gNB emulator. Though instead of this readers can also use gNBsim (an opensource gNB emulator), you can follow another tutorial for [this](./DEPLOY_SA5G_WITH_GNBSIM.md). Please follow the tutorial step by step to create a stable testbed.
This tutorial will help in understanding how to deploy OAI core network using docker-compose. In this tutorial we have used [dsTest](https://www.developingsolutions.com/products/dstest-5g-core-network-testing/) a commercial paid gNB emulator. Though instead of this readers can also use gNBsim (an opensource gNB emulator), you can follow another tutorial for [this](./DEPLOY_SA5G_WITH_GNBSIM.md). Please follow the tutorial step by step to create a stable working testbed.
Reading time: 20mins
Tutorial replication time: 1hr
**Reading time: ~20mins**
**Tutorial replication time: ~1hr**
Note: In case readers are interested in deploying debuggers/developers core network environment with more logs please follow [this tutorial](./DEBUG_5G_CORE.md)
@@ -50,17 +50,34 @@ The requried softwares and their respected versions are listed below. To replica
| docker-compose | 1.27.4, build 40524192 |
| Host operating system | Ubuntu 18.04.4 LTS |
| Container operating system | Ubuntu 18.04 |
| dsTest (Licensed) | 5.6 |
| dsTest (Licensed) | 5.5 |
| tshark | 3.4.4 (Git commit c33f6306cbb2) |
| wireshark | 3.4.4 (Git commit c33f6306cbb2) |
The new version of `wireshark` may not be available in the ubuntu repository so it is better to build it from source.
To know how to configure the machine with the above requirements vist [pre-requisites](./DEPLOY_PRE_REQUESITES.md) page.
Most of the times the `docker-compose-host` machine is not configured with packet forwarding then it can be done using below command (if you have already done it in any other section then don't repeat). This is the most important step towards end to end connectivity.
To know how to configure the machine with the above requirements vist [pre-requisites](./DEPLOY_PRE_REQUESITES.md) page.
## 2. Network Function Container Images ##
- In this demo the image tags which were used are listed below, follow the [Building images](./BUILD_IMAGES.md) to build images with below tags.
- This step can be skip and the images can be pulled from docker-hub, in case there is a problem in pulling the images due to docker limit then readers can build images.
-**NOTE**: Currently the [docker-compose-file](./docker-compose/docker-compose.yml) is configured for pulling images from docker-hub. In you case you build images please change the image-tag accordingly
- In this demo the network function branch and tags which were used are listed below, follow the [Building images](./BUILD_IMAGES.md) to build images with below tags.
| CNF Name | Branch Name | Tag | Ubuntu 18.04 | RHEL8 (UBI8) |
@@ -69,12 +86,28 @@ To know how to configure the machine with the above requirements vist [pre-requi
| NRF | `master` | `v1.1.0` | X | X |
| SPGW-U-TINY | `master` | `v1.1.2` | X | X |
- In case readers are interested in making images using different branch then **they have to build images from scratch they can't use the docker-hub images**.
## 3. Configuring Host Machines ##
All the network functions are connected using `demo-oai-net` bridge. There are two ways to create this bridge either manually or automatically using docker-compose. The manual version will allow packet capturing while network functions are getting deployed. So the initial tested setup packets can be captured for debugging purposes or checking if network functions registered properly to nrf. The second option of automatic deployment is good when initial packet capture is not important.
### 3.1 Creating bridge manually
- Make sure that the below line is commented in [docker-compose file](./docker-compose/docker-compose.yml) and uncomment the line above this,
```
networks:
public_net:
driver: bridge
name: demo-oai-net
ipam:
config:
- subnet: 192.168.70.128/26
driver_opts:
com.docker.network.bridge.name: "demo-oai"
```
- The `docker-compose-host` machine needs to be configured with `demo-oai-net` bridge before deploying core network components. To capture initial message exchange between smf<-->nrf<-->upf.
```bash
...
...
@@ -114,7 +147,7 @@ All the network functions are connected using `demo-oai-net` bridge. There are t
com.docker.network.bridge.name: "demo-oai"
```
- If the `docker-compose-host` machine is not configured with packet forwarding then it can be done using below command,
- If the `docker-compose-host` machine is not configured with packet forwarding then it can be done using below command (important step),
Note: In case readers are interested in deploying debuggers/developers core network environment with more logs please follow [this tutorial](./DEBUG_5G_CORE.md)
Note: In case readers are interested in deploying debuggers/developers core network environment with more logs please follow [this tutorial](./DEBUG_5G_CORE.md)