-
Sagar Arora authored
- Added helm charts tutorial - change the onap-0.1.0 tag from all Charts.yaml - updated building images
Sagar Arora authored- Added helm charts tutorial - change the onap-0.1.0 tag from all Charts.yaml - updated building images
- 1. Retrieve the correct network function branches
- 2. Generic Parameters
- 3. Build AMF Image
- 3.1 On a Ubuntu 18.04 Host
- 3.2 On a RHEL8 Host
- 4. Build SMF Image
- 4.1 On a Ubuntu 18.04 Host
- 4.2 On a RHEL8 Host
- 5. Build NRF Image
- 5.1 On a Ubuntu 18.04 Host
- 5.2 On a RHEL8 Host
- 6. Build SPGW-U Image
- 6.1 On a Ubuntu 18.04 Host
- 6.2 On a RHEL8 Host
![]() |
OpenAirInterface 5G Core Network Docker Deployment : Building Container Images |
1. Retrieve the correct network function branches
CNF Name | Branch Name | Commit at time of writing | Ubuntu 18.04 | RHEL8 (UBI8) |
---|---|---|---|---|
AMF | develop |
1a9f65c6a1e1846b13b82ad337a965596565fdfe |
X | X |
SMF | develop |
11d6375c4ac408805f294172cc789cd196a75dc6 |
X | X |
NRF | develop |
a221f39c9d9729d0652042aee918c81b23d95de6 |
X | X |
SPGW-U-TINY | gtp_extension_header |
3898c773f91bb21451d8a9d4ef8e3d06ab184e1d |
X | - |
$ git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git
$ cd oai-cn5g-fed
$ git checkout master
$ git pull origin master
$ ./scripts/syncComponents.sh -h
Openair-CN components synchronization
Original Author: Raphael Defosseux
Requirement: git shall be installed
By default (no options) all components will be synchronized to
the 'develop' branch.
Each component can be synchronized a dedicated branch.
Usage:
------
syncComponents.sh [OPTIONS]
Options:
--------
--nrf-branch ####
Specify the source branch for the OAI-NRF component
--amf-branch ####
Specify the source branch for the OAI-AMF component
--smf-branch ####
Specify the source branch for the OAI-SMF component
--spgwu-tiny-branch ####
Specify the source branch for the OAI-SPGW-U-TINY component
--help OR -h
Print this help message.
$ ./scripts/syncComponents.sh --spgwu-tiny-branch gtp_extension_header
---------------------------------------------------------
OAI-AMF component branch : develop
OAI-SMF component branch : develop
OAI-NRF component branch : develop
OAI-SPGW-U component branch : gtp_extension_header
---------------------------------------------------------
....
2. Generic Parameters
Here in our network configuration, we need to pass the "GIT PROXY" configuration.
- If you do not need, remove the
--build-arg NEEDED_GIT_PROXY=".."
option. - If you do need it, change with your proxy value.
3. Build AMF Image
3.1 On a Ubuntu 18.04 Host
$ docker build --target oai-amf --tag oai-amf:develop \
--file component/oai-amf/docker/Dockerfile.ubuntu.18.04 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-amf
$ docker image prune --force
$ docker image ls
oai-amf develop f478bafd7a06 1 minute ago 258MB
...
3.2 On a RHEL8 Host
RHEL base images generally needs a subscription to access the package repository. For that the base image needs ca and entitlement .pem files. Copy the ca and entitlement .pem files in the oai-amf repository in a new folder name tmp before building the image.
$ sudo podman build --target oai-amf --tag oai-amf:develop \
--file component/oai-amf/docker/Dockerfile.amf.rhel8.2 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-amf
...
The above command is with podman, incase of docker it can be changed with its docker equivalent.
4. Build SMF Image
4.1 On a Ubuntu 18.04 Host
$ docker build --target oai-smf --tag oai-smf:develop \
--file component/oai-smf/docker/Dockerfile.ubuntu.18.04 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-smf
$ docker image prune --force
$ docker image ls
oai-smf develop f478bafd7a06 1 minute ago 274MB
...
4.2 On a RHEL8 Host
RHEL base images generally needs a subscription to access the package repository. For that the base image needs ca and entitlement .pem files. Copy the ca and entitlement .pem files in the oai-smf repository in a new folder name tmp before building the image.
$ sudo podman build --target oai-smf --tag oai-smf:develop \
--file component/oai-smf/docker/Dockerfile.smf.rhel8.2 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-smf
...
The above command is with podman, incase of docker it can be changed with its docker equivalent.
5. Build NRF Image
5.1 On a Ubuntu 18.04 Host
$ docker build --target oai-nrf --tag oai-nrf:develop \
--file component/oai-nrf/docker/Dockerfile.ubuntu.18.04 \
--build-arg EURECOM_PROXY="http://proxy.eurecom.fr:8080" component/oai-nrf
$ docker image prune --force
$ docker image ls
oai-nrf develop 04334b29e103 1 minute ago 280MB
...
5.2 On a RHEL8 Host
RHEL base images generally needs a subscription to access the package repository. For that the base image needs ca and entitlement .pem files. Copy the ca and entitlement .pem files in the oai-nrf repository in a new folder name tmp before building the image.
$ sudo podman build --target oai-nrf --tag oai-nrf:develop \
--file component/oai-nrf/docker/Dockerfile.nrf.rhel8.2 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-nrf
...
The above command is with podman, incase of docker it can be changed with its docker equivalent.
6. Build SPGW-U Image
6.1 On a Ubuntu 18.04 Host
$ docker build --target oai-spgwu-tiny --tag oai-spgwu-tiny:gtp-ext-header \
--file component/oai-upf-equivalent/docker/Dockerfile.ubuntu18.04 \
--build-arg EURECOM_PROXY="http://proxy.eurecom.fr:8080" component/oai-upf-equivalent
$ docker image prune --force
$ docker image ls
oai-spgwu-tiny gtp-ext-header dec6311cef3b 1 minute ago 255MB
...
6.2 On a RHEL8 Host
RHEL base images generally needs a subscription to access the package repository. For that the base image needs ca and entitlement .pem files. Copy the ca and entitlement .pem files in the oai-spgwu repository in a new folder name tmp before building the image.
$ sudo podman build --target oai-spgwu-tiny --tag oai-spgwu-tiny:develop \
--file component/oai-spgwu-tiny/docker/Dockerfile.centos8 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-upf-equivalent
...
The above command is with podman, incase of docker it can be changed with its docker equivalent.
You are ready to Configure the Containers or deploying the images using [helm-charts] (./DEPLOY_SA5G_HC.md)