Skip to content
Snippets Groups Projects
Commit 212f92fc authored by Raphael Defosseux's avatar Raphael Defosseux
Browse files

Merge branch 'prepare-nssf-public-release' into 'master'

doc(release): prepare NSSF release

See merge request oai/cn5g/oai-cn5g-fed!33
parents 2a26d522 e4c9cabb
No related branches found
Tags 2022.w03 v1.3.0
No related merge requests found
......@@ -22,3 +22,6 @@
[submodule "component/oai-upf-vpp"]
path = component/oai-upf-vpp
url = https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-upf-vpp.git
[submodule "component/oai-nssf"]
path = component/oai-nssf
url = https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-nssf.git
# RELEASE NOTES: #
## v1.3.0 -- January 2022 ##
* Incorporation of new public network functions:
- NSSF
* New tutorials:
- Slicing --> `docs/DEPLOY_SA5G_SLICING.md`
- Static UE IP address to emulate private network --> `docs/DEPLOY_SA5G_BASIC_STATIC_UE_IP.md`
* `AMF` Changes:
- Periodic Registration Update
- Support for Event Exposure (Registration State Report)
- Implicit Deregistration Timer
- Mobile Reachable Timer
- Mobility Registration Update
- NRF Selection (via NSSF)
- Fix for validation of SMF Info
- Fix RAN UE NGAP Id
- Fix SMF Selection SD
- Fix NSSAI mismatch
- Fix Service Request
- Fix HTTP2
- Fix MCC such as 001
- Docker optimization
* `AUSF` Changes:
- HTTP2 Support
- Docker optimization
* `NRF` Changes:
- NF profile update
- Docker optimization
* `NSSF` Changes:
- Initial Public Release
- Docker Optimization
* `SMF` Changes:
- Update NWI from NF profile
- Update SMF profile
- Added retry for PFCP association request
- More flexible DNN/IP ranges when deploying container
- Fix retrieving the list of NWI
- Fix entreprise IE decoding
- Fix issue for UPF selection
- Fix for IE Measurement Period
- Docker optimization
* `UDM` Changes:
- Experimental support for Event Exposure
- Added HTTP2 support
- Fix static addr allocation
- Fix build issue
- Docker build optimizations
* `UDR` Changes:
- Added HTTP2 support
- Fix build issue
- Fix static addr allocation
- Docker build optimizations
* `SPGWU-TINY` Changes:
- Disable association request if NF registration is enabled
* `UPF-VPP` Changes:
- Upgrade to UPG plugin stable/1.2
- Build fixes
- Deployment fixes (wait launch of NRF Client until VPP is getting ready)
## v1.2.1 -- October 2021 ##
* Incorporation of new public network functions:
- UPF-VPP
* New tutorial with this new function
* `AMF` Changes:
- Fix build issue
- Tentative fix for ngKSI already in use
- Initial implementation for Mobility registration update
* `AUSF` Changes:
- Fix build issue
* `NRF` Changes:
- Fix build issue
* `SMF` Changes:
- Timers handling: T3591/T3952
- Fix build issue
- Fix UPF selection
* `UDM` Changes:
- Fix build issue
* `UDR` Changes:
- Fix build issue
* `SPGWU-TINY` Changes:
- Fix build issue
- Fix GTPU DL encapsulation: 8 extraneous bytes
* `UPF-VPP` Changes:
- Initial Public Release
- Full support for Ubuntu18 and RHEL7
- CI Build support
- Tutorial validated
## v1.2.0 -- September 2021 ##
......@@ -14,6 +97,42 @@
- UDR
* New tutorials with these new functions
* CI improvements
* `AMF` Changes:
- AUSF connection
- Support PDU Session Resource Modify procedure
- Support HTTP2
- Support AMF Event Exposure Services
- Fix NIA0, NEA2
- Fix potential AMF crash with UE/NGAP/NAS context
- Fix N2 Handover
- Fix Paging procedures
* `AUSF` Changes:
- Initial public release
- NRF registration
- with FQDN DNS resolution
- Full support for Ubuntu18 and RHEL8
* `NRF` Changes:
- Added AUSF, UDR, UDM profiles
- Updated UPF profile
* `SMF` Changes:
- Event Exposure implemented
- UPF profile update
- Support for URR query
- Bug fixes
* `UDM` Changes:
- Initial public release
- NRF registration
- with FQDN DNS resolution
- Full support for Ubuntu18 and RHEL8
* `UDR` Changes:
- Initial public release
- NRF registration
- with FQDN DNS resolution
- Proper mySQL DB deployment management
- Full support for Ubuntu18 and RHEL8
* `SPGWU-TINY` Changes:
- Adding 5G features
- HTTP2 support
## v1.1.0 -- July 2021 ##
......@@ -22,6 +141,29 @@
- DsTester validation on RHEL8 / OpenShift deployment
- Some components (such as AMF/NRF) have bracket-testing at unit level
* A lot of tutorials have been added
* `AMF` Changes:
- Session Release
- NRF registration
- with FQDN DNS resolution
- Multiple PDU support
- Bug fixes
- Full support for Ubuntu18 and RHEL8
* `NRF` Changes:
- FQDN DNS resolution
- Bug fixes
- Full support for Ubuntu18 and RHEL8
* `SMF` Changes:
- PFCP Release 16 support
- NRF registration
- with FQDN DNS resolution
- Support for multiple UPF instances
- Dotted DNN support
- Use (SST, SD) to get the subscription information
- Bug fixes
- Full support for Ubuntu18 and RHEL8
* `SPGWU-TINY` Changes:
- Adding 5G features
- NRF discovery and FQDN support
## v1.0.0 -- September 2020 ##
......
......@@ -18,6 +18,7 @@
<a href="https://jenkins-oai.eurecom.fr/job/OAI-CN5G-UDM/"><img src="https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins-oai.eurecom.fr%2Fjob%2FOAI-CN5G-UDM%2F&label=build%20UDM"></a>
<a href="https://jenkins-oai.eurecom.fr/job/OAI-CN5G-UDR/"><img src="https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins-oai.eurecom.fr%2Fjob%2FOAI-CN5G-UDR%2F&label=build%20UDR"></a>
<a href="https://jenkins-oai.eurecom.fr/job/OAI-CN5G-UPF-VPP/"><img src="https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins-oai.eurecom.fr%2Fjob%2FOAI-CN5G-UPF-VPP%2F&label=build%20UPF-VPP"></a>
<a href="https://jenkins-oai.eurecom.fr/job/OAI-CN5G-NSSF/"><img src="https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins-oai.eurecom.fr%2Fjob%2FOAI-CN5G-NSSF%2F&label=build%20NSSF"></a>
</p>
<p align="center">
......@@ -29,6 +30,7 @@
<a href="https://hub.docker.com/r/rdefosseoai/oai-udr"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/rdefosseoai/oai-udr?label=UDR%20docker%20pulls"></a>
<a href="https://hub.docker.com/r/rdefosseoai/oai-upf-vpp"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/rdefosseoai/oai-upf-vpp?label=UPF-VPP%20docker%20pulls"></a>
<a href="https://hub.docker.com/r/rdefosseoai/oai-spgwu-tiny"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/rdefosseoai/oai-spgwu-tiny?label=SPGWU-TINY%20docker%20pulls"></a>
<a href="https://hub.docker.com/r/rdefosseoai/oai-nssf"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/rdefosseoai/oai-nssf?label=NSSF%20docker%20pulls"></a>
</p>
<h2 align="center">
......@@ -47,7 +49,7 @@ At the moment, it contains the following network elements:
* User Plane Function (**UPF**) with 2 variants:
* Simple Implementation based on our 4G CUPS component (**[SPGWU-TINY](https://github.com/OPENAIRINTERFACE/openair-spgwu-tiny)**)
* VPP-Based Implementation (**[UPF-VPP](https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-upf-vpp)**)
* Network Slicing Selection Function (**NSSF**)
* Network Slicing Selection Function (**[NSSF](https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-nssf)**)
* Network Data Analytics Function (**NWDAF**)
* Unstructured Data Storage Function (**UDSF**)
......
......@@ -76,6 +76,8 @@ def udrBranch = params.udrBranch
def nssfTag = params.udrTag
def nssfBranch = params.udrBranch
def upfVppBranch = 'develop'
//-------------------------------------------------------------------------------
// Pipeline start
pipeline {
......@@ -214,7 +216,7 @@ pipeline {
sh 'git checkout -f ' + upstreamTagToUse
sh "zip -r -qq oai-cn5g-fed.zip .git"
sh "mkdir -p archives"
sh './scripts/syncComponents.sh --nrf-branch ' + nrfBranch + ' --amf-branch ' + amfBranch + ' --smf-branch ' + smfBranch + ' --spgwu-tiny-branch ' + spgwuBranch + ' --ausf-branch ' + ausfBranch + ' --udm-branch ' + udmBranch + ' --udr-branch ' + udrBranch
sh './scripts/syncComponents.sh --nrf-branch ' + nrfBranch + ' --amf-branch ' + amfBranch + ' --smf-branch ' + smfBranch + ' --spgwu-tiny-branch ' + spgwuBranch + ' --ausf-branch ' + ausfBranch + ' --udm-branch ' + udmBranch + ' --udr-branch ' + udrBranch + ' --upf-vpp-branch ' + upfVppBranch + ' --nssf-branch ' + nssfBranch
}
if (scmEvent) {
mini = true
......@@ -226,14 +228,14 @@ pipeline {
}
sh "zip -r -qq oai-cn5g-fed.zip .git"
sh "mkdir -p archives"
sh './scripts/syncComponents.sh --nrf-branch develop --amf-branch develop --smf-branch develop --spgwu-tiny-branch develop --ausf-branch develop --udm-branch develop --udr-branch develop'
sh './scripts/syncComponents.sh --nrf-branch develop --amf-branch develop --smf-branch develop --spgwu-tiny-branch develop --ausf-branch develop --udm-branch develop --udr-branch develop --upf-vpp-branch develop --nssf-branch develop'
}
if ((!upstreamEvent) && (!scmEvent)) {
mini = true
basic = true
slice = true
sh "git clean -x -d -f > /dev/null 2>&1"
sh './scripts/syncComponents.sh --nrf-branch ' + nrfBranch + ' --amf-branch ' + amfBranch + ' --smf-branch ' + smfBranch + ' --spgwu-tiny-branch ' + spgwuBranch + ' --ausf-branch ' + ausfBranch + ' --udm-branch ' + udmBranch + ' --udr-branch ' + udrBranch
sh './scripts/syncComponents.sh --nrf-branch ' + nrfBranch + ' --amf-branch ' + amfBranch + ' --smf-branch ' + smfBranch + ' --spgwu-tiny-branch ' + spgwuBranch + ' --ausf-branch ' + ausfBranch + ' --udm-branch ' + udmBranch + ' --udr-branch ' + udrBranch + ' --upf-vpp-branch ' + upfVppBranch + ' --nssf-branch ' + nssfBranch
sh "mkdir -p archives"
}
// Verify that the images are available
......
Subproject commit a60d6b84e30e25d255734289e93ed4f9dfe68f28
......@@ -30,26 +30,27 @@ We recommend to synchronize with the master branches on all git sub-modules.
We also recommend that you synchronize this "tutorial" repository with a provided tag. By doing so, the `docker-compose` files will be aligned with feature sets of each cNF.
**At the time of writing (2021/10/29), the release tag is `v1.2.1`.**
**At the time of writing (2022/01/17), the release tag is `v1.3.0`.**
| CNF Name | Branch Name | Tag | Ubuntu 18.04 | RHEL8 (UBI8) |
| ----------- | ----------- | -------- | ------------ | ----------------|
| FED REPO | N/A | `v1.2.1` | | |
| AMF | `master` | `v1.2.1` | X | X |
| SMF | `master` | `v1.2.1` | X | X |
| NRF | `master` | `v1.2.1` | X | X |
| SPGW-U-TINY | `master` | `v1.1.4` | X | X |
| UDR | `master` | `v1.2.1` | X | X |
| UDM | `master` | `v1.2.1` | X | X |
| AUSF | `master` | `v1.2.1` | X | X |
| UPF-VPP | `master` | `v1.2.1` | X | X |
| FED REPO | N/A | `v1.3.0` | | |
| AMF | `master` | `v1.3.0` | X | X |
| SMF | `master` | `v1.3.0` | X | X |
| NRF | `master` | `v1.3.0` | X | X |
| SPGW-U-TINY | `master` | `v1.1.5` | X | X |
| UDR | `master` | `v1.3.0` | X | X |
| UDM | `master` | `v1.3.0` | X | X |
| AUSF | `master` | `v1.3.0` | X | X |
| UPF-VPP | `master` | `v1.3.0` | X | X |
| NSSF | `master` | `v1.3.0` | X | X |
```bash
# Clone directly on the latest release tag
$ git clone --branch v1.2.1 https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git
$ git clone --branch v1.3.0 https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git
$ cd oai-cn5g-fed
# If you forgot to clone directly to the latest release tag
$ git checkout -f v1.2.1
$ git checkout -f v1.3.0
# Synchronize all git submodules
$ ./scripts/syncComponents.sh
......@@ -62,6 +63,7 @@ OAI-AUSF component branch : master
OAI-UDM component branch : master
OAI-UDR component branch : master
OAI-UPF-VPP component branch : master
OAI-NSSF component branch : master
---------------------------------------------------------
git submodule deinit --all --force
git submodule init
......@@ -71,19 +73,21 @@ git submodule update
or a little bit more dangerous
```bash
$ ./scripts/syncComponents.sh --nrf-branch v1.2.1 --amf-branch v1.2.1 \
--smf-branch v1.2.1 --spgwu-tiny-branch v1.1.4 \
--udr-branch v1.2.1 --udm-branch v1.2.1 \
--ausf-branch v1.2.1 --upf-vpp-branch v1.2.1
$ ./scripts/syncComponents.sh --nrf-branch v1.3.0 --amf-branch v1.3.0 \
--smf-branch v1.3.0 --spgwu-tiny-branch v1.1.5 \
--udr-branch v1.3.0 --udm-branch v1.3.0 \
--ausf-branch v1.3.0 --upf-vpp-branch v1.3.0 \
--nssf-branch v1.3.0
---------------------------------------------------------
OAI-NRF component branch : v1.2.1
OAI-AMF component branch : v1.2.1
OAI-SMF component branch : v1.2.1
OAI-SPGW-U component branch : v1.1.4
OAI-UDR component branch : v1.2.1
OAI-UDM component branch : v1.2.1
OAI-AUSF component branch : v1.2.1
OAI-UPF-VPP component branch : v1.2.1
OAI-NRF component branch : v1.3.0
OAI-AMF component branch : v1.3.0
OAI-SMF component branch : v1.3.0
OAI-SPGW-U component branch : v1.1.5
OAI-UDR component branch : v1.3.0
OAI-UDM component branch : v1.3.0
OAI-AUSF component branch : v1.3.0
OAI-UPF-VPP component branch : v1.3.0
OAI-NSSF component branch : v1.3.0
---------------------------------------------------------
git submodule deinit --all --force
git submodule init
......@@ -116,7 +120,8 @@ $ git rebase origin/master
$ ./scripts/syncComponents.sh --nrf-branch develop --amf-branch develop \
--smf-branch develop --spgwu-tiny-branch develop \
--ausf-branch develop --udm-branch develop \
--udr-branch develop --upf-vpp-branch develop
--udr-branch develop --upf-vpp-branch develop \
--nssf-branch develop
---------------------------------------------------------
OAI-NRF component branch : develop
OAI-AMF component branch : develop
......@@ -126,6 +131,7 @@ OAI-AUSF component branch : develop
OAI-UDM component branch : develop
OAI-UDR component branch : develop
OAI-UPF-VPP component branch : develop
OAI-NSSF component branch : develop
---------------------------------------------------------
git submodule deinit --all --force
git submodule init
......@@ -372,7 +378,7 @@ The above command is with podman, in case of docker it can be changed with its d
# 10. Build UPF-VPP Image #
## 9.1 On a Ubuntu 18.04 Host ##
## 10.1 On a Ubuntu 18.04 Host ##
```bash
$ docker build --target oai-upf-vpp --tag oai-upf-vpp:latest \
......@@ -385,7 +391,7 @@ oai-upf-vpp latest 581e07d59ec3 1 minute ago
...
```
## 9.2 On a RHEL8 Host ##
## 10.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.
......@@ -402,5 +408,39 @@ $ sudo podman build --target oai-upf-vpp --tag oai-upf-vpp:latest \
The above command is with podman, in case of docker it can be changed with its docker equivalent.
# 11. Build NSSF Image #
## 11.1 On a Ubuntu 18.04 Host ##
```bash
$ docker build --target oai-nssf --tag oai-nssf:latest \
--file component/oai-nssf/docker/Dockerfile.nssf.ubuntu18 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-nssf
$ docker image prune --force
$ docker image ls
oai-nssf latest 77a96de94c23 1 minute ago 231MB
...
```
## 11.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 named `tmp` before building the image.
```bash
$ sudo podman build --target oai-nssf --tag oai-nssf:latest \
--file component/oai-nssf/docker/Dockerfile.nssf.rhel8 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-nssf
...
```
The above command is with podman, in case of docker it can be changed with its docker equivalent.
You are ready to [Configure the Containers](./CONFIGURE_CONTAINERS.md) or deploying the images using [helm-charts](./DEPLOY_SA5G_HC.md)
You can also go [back](./DEPLOY_HOME.md) to the list of tutorials.
......@@ -48,6 +48,7 @@ $ docker pull rdefosseoai/oai-udr:latest
$ docker pull rdefosseoai/oai-udm:latest
$ docker pull rdefosseoai/oai-ausf:latest
$ docker pull rdefosseoai/oai-upf-vpp:latest
$ docker pull rdefosseoai/oai-nssf:latest
```
And **re-tag** them for tutorials' docker-compose file to work.
......@@ -61,6 +62,7 @@ $ docker image tag rdefosseoai/oai-udr:latest oai-udr:latest
$ docker image tag rdefosseoai/oai-udm:latest oai-udm:latest
$ docker image tag rdefosseoai/oai-ausf:latest oai-ausf:latest
$ docker image tag rdefosseoai/oai-upf-vpp:latest oai-upf-vpp:latest
$ docker image tag rdefosseoai/oai-nssf:latest oai-nssf:latest
```
Finally you may logoff --> your token is stored in plain text..
......@@ -77,26 +79,27 @@ We will push new versions when new features are validated.
This repository only has tutorials and Continuous Integration scripts.
**At the time of writing (2021/10/29), the release tag is `v1.2.1`.**
**At the time of writing (2022/01/17), the release tag is `v1.3.0`.**
| CNF Name | Branch Name | Tag | Ubuntu 18.04 | RHEL8 (UBI8) |
| ----------- | ----------- | -------- | ------------ | ----------------|
| FED REPO | N/A | `v1.2.1` | | |
| AMF | `master` | `v1.2.1` | X | X |
| SMF | `master` | `v1.2.1` | X | X |
| NRF | `master` | `v1.2.1` | X | X |
| SPGW-U-TINY | `master` | `v1.1.4` | X | X |
| UDR | `master` | `v1.2.1` | X | X |
| UDM | `master` | `v1.2.1` | X | X |
| AUSF | `master` | `v1.2.1` | X | X |
| UPF-VPP | `master` | `v1.2.1` | X | X |
| FED REPO | N/A | `v1.3.0` | | |
| AMF | `master` | `v1.3.0` | X | X |
| SMF | `master` | `v1.3.0` | X | X |
| NRF | `master` | `v1.3.0` | X | X |
| SPGW-U-TINY | `master` | `v1.1.5` | X | X |
| UDR | `master` | `v1.3.0` | X | X |
| UDM | `master` | `v1.3.0` | X | X |
| AUSF | `master` | `v1.3.0` | X | X |
| UPF-VPP | `master` | `v1.3.0` | X | X |
| NSSF | `master` | `v1.3.0` | X | X |
```bash
# Clone directly on the latest release tag
$ git clone --branch v1.2.1 https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git
$ git clone --branch v1.3.0 https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git
$ cd oai-cn5g-fed
# If you forgot to clone directly to the latest release tag
$ git checkout -f v1.2.1
$ git checkout -f v1.3.0
# Synchronize all git submodules
$ ./scripts/syncComponents.sh
......@@ -109,6 +112,7 @@ OAI-AUSF component branch : master
OAI-UDM component branch : master
OAI-UDR component branch : master
OAI-UPF-VPP component branch : master
OAI-NSSF component branch : master
---------------------------------------------------------
git submodule deinit --all --force
git submodule init
......@@ -118,3 +122,5 @@ git submodule update
Later versions of the `master` branch may not work with the pulled images.
You are ready to [Configure the Containers](./CONFIGURE_CONTAINERS.md).
You can also go [back](./DEPLOY_HOME.md) to the list of tutorials.
......@@ -60,6 +60,9 @@ function usage {
echo " --upf-vpp-branch ####"
echo " Specify the source branch for the OAI-UPF-VPP component"
echo ""
echo " --nssf-branch ####"
echo " Specify the source branch for the OAI-UDR component"
echo ""
echo " --help OR -h"
echo " Print this help message."
echo ""
......@@ -73,6 +76,7 @@ AUSF_BRANCH='master'
UDM_BRANCH='master'
UDR_BRANCH='master'
UPF_VPP_BRANCH='master'
NSSF_BRANCH='master'
doDefault=1
......@@ -134,6 +138,12 @@ case $key in
shift
shift
;;
--nssf-branch)
NSSF_BRANCH="$2"
doDefault=0
shift
shift
;;
*)
echo "Syntax Error: unknown option: $key"
echo ""
......@@ -152,6 +162,7 @@ echo "OAI-AUSF component branch : ${AUSF_BRANCH}"
echo "OAI-UDM component branch : ${UDM_BRANCH}"
echo "OAI-UDR component branch : ${UDR_BRANCH}"
echo "OAI-UPF-VPP component branch : ${UPF_VPP_BRANCH}"
echo "OAI-NSSF component branch : ${NSSF_BRANCH}"
echo "---------------------------------------------------------"
# First do a clean-up
......@@ -239,4 +250,13 @@ else
git checkout -b $UPF_VPP_BRANCH origin/$UPF_VPP_BRANCH > /dev/null 2>&1
fi
popd
pushd component/oai-nssf
git fetch --prune > /dev/null 2>&1
git branch -D $NSSF_BRANCH > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
git checkout $NSSF_BRANCH > /dev/null 2>&1
else
git checkout -b $NSSF_BRANCH origin/$NSSF_BRANCH > /dev/null 2>&1
fi
popd
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment