Commit 96e0b0d2 authored by Raphael Defosseux's avatar Raphael Defosseux
Browse files

docs(release): update changelog for july 2021 release


Signed-off-by: Raphael Defosseux's avatarRaphael Defosseux <raphael.defosseux@eurecom.fr>
parent 5ddf4940
# RELEASE NOTES: #
## v1.1.0 -- July 2021 ##
* Improvements on Continuous Integration:
- DsTester validation on Ubuntu18 docker deployment
- 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
## v1.0.0 -- September 2020 ##
* Initial release
......
......@@ -182,7 +182,7 @@ pipeline {
copyTo2ndServer('oai-cn5g-fed.zip', new_host_flag, new_host_user, new_host)
myShCmd('git clean -x -d -f > /dev/null 2>&1', new_host_flag, new_host_user, new_host)
myShCmd('mkdir -p archives DS-TEST-RESULTS', new_host_flag, new_host_user, new_host)
myShCmd('./scripts/syncComponents.sh --nrf-branch ' + nrfBranch + ' --amf-branch ' + amfBranch + ' --smf-branch ' + smfBranch, new_host_flag, new_host_user, new_host)
myShCmd('./scripts/syncComponents.sh --nrf-branch ' + nrfBranch + ' --amf-branch ' + amfBranch + ' --smf-branch ' + smfBranch + ' --spgwu-tiny-branch ' + spgwuBranch, new_host_flag, new_host_user, new_host)
}
}
if (scmEvent) {
......@@ -192,7 +192,7 @@ pipeline {
}
sh "zip -r -qq oai-cn5g-fed.zip .git"
sh "mkdir -p archives DS-TEST-RESULTS"
sh './scripts/syncComponents.sh'
sh './scripts/syncComponents.sh --nrf-branch develop --amf-branch develop --smf-branch develop --spgwu-tiny-branch develop'
if (new_host_flag) {
// Prepare the workspace in remote server
copyTo2ndServer('oai-cn5g-fed.zip', new_host_flag, new_host_user, new_host)
......@@ -201,7 +201,7 @@ pipeline {
myShCmd("./ci-scripts/doGitLabMerge.sh --src-branch ${env.gitlabSourceBranch} --src-commit ${env.gitlabMergeRequestLastCommit} --target-branch ${env.gitlabTargetBranch} --target-commit ${GIT_COMMIT}", new_host_flag, new_host_user, new_host)
}
myShCmd('mkdir -p archives DS-TEST-RESULTS', new_host_flag, new_host_user, new_host)
myShCmd('./scripts/syncComponents.sh', new_host_flag, new_host_user, new_host)
myShCmd('./scripts/syncComponents.sh --nrf-branch develop --amf-branch develop --smf-branch develop --spgwu-tiny-branch develop', new_host_flag, new_host_user, new_host)
}
}
if ((!upstreamEvent) && (!scmEvent)) {
......
......@@ -22,7 +22,7 @@ services:
ipv4_address: 192.168.70.131
oai-amf:
container_name: "oai-amf"
image: oai-amf:develop
image: oai-amf:latest
command: >
bash -c "nohup tshark -i eth0 -w /tmp/amf.pcap 2>&1 > /dev/null &
/openair-amf/bin/oai_amf -c /openair-amf/etc/amf.conf -o | tee /tmp/amf.log 2>&1
......@@ -93,7 +93,7 @@ services:
ipv4_address: 192.168.70.132
oai-smf:
container_name: "oai-smf"
image: oai-smf:develop
image: oai-smf:latest
command: >
bash -c "nohup tshark -i eth0 -w /tmp/smf.pcap 2>&1 > /dev/null &
/openair-smf/bin/oai_smf -c /openair-smf/etc/smf.conf -o | tee /tmp/smf.log 2>&1
......@@ -142,7 +142,7 @@ services:
ipv4_address: 192.168.70.133
oai-spgwu:
container_name: "oai-spgwu"
image: oai-spgwu-tiny:develop
image: oai-spgwu-tiny:latest
command: >
bash -c "nohup tshark -i eth0 -w /tmp/spgwu.pcap 2>&1 > /dev/null &
/openair-spgwu-tiny/bin/oai_spgwu -c /openair-spgwu-tiny/etc/spgw_u.conf -o | tee /tmp/spgwu.log 2>&1
......
......@@ -2,7 +2,7 @@ version: '3.8'
services:
oai-nrf:
container_name: "oai-nrf"
image: oai-nrf:develop
image: oai-nrf:latest
command: >
bash -c "nohup tshark -i eth0 -w /tmp/nrf.pcap 2>&1 > /dev/null &
/openair-nrf/bin/oai_nrf -c /openair-nrf/etc/nrf.conf -o | tee /tmp/nrf.log 2>&1
......@@ -48,7 +48,7 @@ services:
ipv4_address: 192.168.70.131
oai-amf:
container_name: "oai-amf"
image: oai-amf:develop
image: oai-amf:latest
command: >
bash -c "nohup tshark -i eth0 -w /tmp/amf.pcap 2>&1 > /dev/null &
/openair-amf/bin/oai_amf -c /openair-amf/etc/amf.conf -o | tee /tmp/amf.log 2>&1
......@@ -119,7 +119,7 @@ services:
ipv4_address: 192.168.70.132
oai-smf:
container_name: "oai-smf"
image: oai-smf:develop
image: oai-smf:latest
command: >
bash -c "nohup tshark -i eth0 -w /tmp/smf.pcap 2>&1 > /dev/null &
/openair-smf/bin/oai_smf -c /openair-smf/etc/smf.conf -o | tee /tmp/smf.log 2>&1
......@@ -168,7 +168,7 @@ services:
ipv4_address: 192.168.70.133
oai-spgwu:
container_name: "oai-spgwu"
image: oai-spgwu-tiny:develop
image: oai-spgwu-tiny:latest
command: >
bash -c "nohup tshark -i eth0 -w /tmp/spgwu.pcap 2>&1 > /dev/null &
/openair-spgwu-tiny/bin/oai_spgwu -c /openair-spgwu-tiny/etc/spgw_u.conf -o | tee /tmp/spgwu.log 2>&1
......
......@@ -14,73 +14,102 @@
# 1. Retrieve the correct network function branches #
| CNF Name | Branch Name | Commit at time of writing | Ubuntu 18.04 | RHEL8 (UBI8) |
| ----------- |:----------- | ------------------------------------------ | ------------ | ----------------|
| AMF | `develop` | `f31dc5a5a013882f4c5f6132d1b2af7f6c98ece2` | X | X |
| SMF | `develop` | `7e3ffb6b444269b7667501ee82da9c7b3f7bf9eb` | X | X |
| NRF | `develop` | `f722502f92333747503b13491962ade7c5e6dbca` | X | X |
| SPGW-U-TINY | `develop` | `7f687f853eaa7617ba56da186d0d55afb6219558` | X | X |
**CAUTION: PLEASE READ THIS SECTION VERY CAREFULLY!**
**UPDATE (2021/07/12): all branches have been tagged with `2021.w28`.**
This repository only has tutorials and Continuous Integration scripts.
**PLEASE USE newer commits than these tags.**
Each 5G Network Function source code is managed in its own repository.
```bash
$ git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git
$ cd oai-cn5g-fed
They are called as `git sub-modules` in the `component` folder.
# You can specify a tag on the parent GIT repository such as `2021.w28`
$ git checkout 2021.w28
# Or you can sync to the latest version
$ git checkout master
Before doing anything, you SHALL retrieve the code for each git sub-module.
## 1.1. You are interested on a very stable version. ##
# Then you need to resync the sub-modules (ie AMF, SPGW-U-TINY, SMF, NRF).
# You can specify:
# --- a valid tag (such as seen)
# --- a newer tag
# --- a branch to get the latest (`develop` being the latest stable)
# Usually the better option is to specify `develop`
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.
$ ./scripts/syncComponents.sh -h
Openair-CN components synchronization
Original Author: Raphael Defosseux
**At the time of writing (2021/07/22), the release tag is `v1.1.0`.**
Requirement: git shall be installed
| CNF Name | Branch Name | Tag | Ubuntu 18.04 | RHEL8 (UBI8) |
| ----------- | ----------- | -------- | ------------ | ----------------|
| FED REPO | N/A | `v1.1.0` | | |
| AMF | `master` | `v1.1.0` | X | X |
| SMF | `master` | `v1.1.0` | X | X |
| NRF | `master` | `v1.1.0` | X | X |
| SPGW-U-TINY | `master` | `v1.1.2` | X | X |
```bash
# Clone directly on the latest release tag
$ git clone --branch v1.1.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.1.0
By default (no options) all components will be synchronized to
the 'develop' branch.
Each component can be synchronized a dedicated branch.
# Synchronize all git submodules
$ ./scripts/syncComponents.sh
---------------------------------------------------------
OAI-NRF component branch : master
OAI-AMF component branch : master
OAI-SMF component branch : master
OAI-SPGW-U component branch : master
---------------------------------------------------------
git submodule deinit --all --force
git submodule init
git submodule update
```
Usage:
------
syncComponents.sh [OPTIONS]
or a little bit more dangerous
Options:
--------
--nrf-branch ####
Specify the source branch for the OAI-NRF component
```bash
$ ./scripts/syncComponents.sh --nrf-branch v1.1.0 --amf-branch v1.1.0 \
--smf-branch v1.1.0 --spgwu-tiny-branch v1.1.2
---------------------------------------------------------
OAI-NRF component branch : v1.1.0
OAI-AMF component branch : v1.1.0
OAI-SMF component branch : v1.1.0
OAI-SPGW-U component branch : v1.1.2
---------------------------------------------------------
git submodule deinit --all --force
git submodule init
git submodule update
```
--amf-branch ####
Specify the source branch for the OAI-AMF component
## 1.2. You are interested on the latest features. ##
--smf-branch ####
Specify the source branch for the OAI-SMF component
All the latest features are somehow pushed to the `develop` branches of each cNF repository.
--spgwu-tiny-branch ####
Specify the source branch for the OAI-SPGW-U-TINY component
It means that we/you are able to build and the Continuous Integration test suite makes sure it
does NOT break any existing tested feature.
--help OR -h
Print this help message.
So for example, at time of writing, N2 Handover support code is included in `v1.1.0` release.
But it is not tested yet. So it is not advertized in the `CHANGELOG.md` and the Release Notes.
$ ./scripts/syncComponents.sh --spgwu-tiny-branch 2021.w28
Anyhow, the tutorials' docker-compose files on the latest commit of the `master` branch of
`oai-cn5g-fed` repository SHALL support any additional un-tested feature.
```bash
# Clone
$ git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git
$ cd oai-cn5g-fed
# On an existing repository, resync to the last `master` commit
$ git fetch --prune
$ git checkout master
$ git rebase origin/master
# Synchronize all git submodules
$ ./scripts/syncComponents.sh --nrf-branch develop --amf-branch develop \
--smf-branch develop --spgwu-tiny-branch develop
---------------------------------------------------------
OAI-NRF component branch : develop
OAI-AMF component branch : develop
OAI-SMF component branch : develop
OAI-NRF component branch : develop
OAI-SPGW-U component branch : 2021.w28
OAI-SPGW-U component branch : develop
---------------------------------------------------------
....
git submodule deinit --all --force
git submodule init
git submodule update
```
# 2. Generic Parameters #
......@@ -90,27 +119,35 @@ 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.
If you have re-building CN5G images, be careful that `docker` or `podman` may re-use `cached` blobs
to construct the intermediate layers.
We recommend to add the `--no-cache` option in that case.
# 3. Build AMF Image #
## 3.1 On a Ubuntu 18.04 Host ##
```bash
$ docker build --target oai-amf --tag oai-amf:develop \
$ docker build --target oai-amf --tag oai-amf:latest \
--file component/oai-amf/docker/Dockerfile.amf.ubuntu18 \
--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
oai-amf latest f478bafd7a06 1 minute ago 279MB
...
```
## 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.
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 named `tmp` before building the image.
```bash
$ sudo podman build --target oai-amf --tag oai-amf:develop \
$ sudo podman build --target oai-amf --tag oai-amf:latest \
--file component/oai-amf/docker/Dockerfile.amf.rhel8 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-amf
......@@ -125,22 +162,25 @@ The above command is with podman, in case of docker it can be changed with its d
## 4.1 On a Ubuntu 18.04 Host ##
```bash
$ docker build --target oai-smf --tag oai-smf:develop \
$ docker build --target oai-smf --tag oai-smf:latest \
--file component/oai-smf/docker/Dockerfile.smf.ubuntu18 \
--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
oai-smf latest f478bafd7a06 1 minute ago 293MB
...
```
## 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.
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 named `tmp` before building the image.
```bash
$ sudo podman build --target oai-smf --tag oai-smf:develop \
$ sudo podman build --target oai-smf --tag oai-smf:latest \
--file component/oai-smf/docker/Dockerfile.smf.rhel8 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-smf
......@@ -154,21 +194,24 @@ The above command is with podman, in case of docker it can be changed with its d
## 5.1 On a Ubuntu 18.04 Host ##
```bash
$ docker build --target oai-nrf --tag oai-nrf:develop \
$ docker build --target oai-nrf --tag oai-nrf:latest \
--file component/oai-nrf/docker/Dockerfile.nrf.ubuntu18 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" component/oai-nrf
$ docker image prune --force
$ docker image ls
oai-nrf develop 04334b29e103 1 minute ago 280MB
oai-nrf latest 04334b29e103 1 minute ago 247MB
...
```
## 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.
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-nrf --tag oai-nrf:develop \
$ sudo podman build --target oai-nrf --tag oai-nrf:latest \
--file component/oai-nrf/docker/Dockerfile.nrf.rhel8 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-nrf
......@@ -182,21 +225,24 @@ The above command is with podman, in case of docker it can be changed with its d
## 6.1 On a Ubuntu 18.04 Host ##
```bash
$ docker build --target oai-spgwu-tiny --tag oai-spgwu-tiny:gtp-ext-header \
$ docker build --target oai-spgwu-tiny --tag oai-spgwu-tiny:latest \
--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
oai-spgwu-tiny latest 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.
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 named `tmp` before building the image.
```bash
$ sudo podman build --target oai-spgwu-tiny --tag oai-spgwu-tiny:develop \
$ sudo podman build --target oai-spgwu-tiny --tag oai-spgwu-tiny:latest \
--file component/oai-spgwu-tiny/docker/Dockerfile.centos8 \
--build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
component/oai-upf-equivalent
......
......@@ -27,7 +27,7 @@ function usage {
echo " Requirement: git shall be installed"
echo ""
echo " By default (no options) all components will be synchronized to"
echo " the 'develop' branch."
echo " the 'master' branch."
echo " Each component can be synchronized a dedicated branch."
echo ""
echo "Usage:"
......@@ -53,9 +53,9 @@ function usage {
echo ""
}
NRF_BRANCH='develop'
AMF_BRANCH='develop'
SMF_BRANCH='develop'
NRF_BRANCH='master'
AMF_BRANCH='master'
SMF_BRANCH='master'
SPGWU_BRANCH='master'
doDefault=1
......@@ -121,26 +121,42 @@ git submodule update > /dev/null 2>&1
if [ $doDefault -eq 1 ]
then
git submodule foreach 'git fetch --prune && git checkout develop && git pull origin develop' > /dev/null 2>&1
git submodule foreach 'git fetch --prune && git branch -D master&& git checkout -b master origin/master' > /dev/null 2>&1
else
pushd component/oai-nrf
git fetch --prune > /dev/null 2>&1
git checkout $NRF_BRANCH > /dev/null 2>&1
git pull origin $NRF_BRANCH > /dev/null 2>&1
git branch -D $NRF_BRANCH > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
git checkout $NRF_BRANCH > /dev/null 2>&1
else
git checkout -b $NRF_BRANCH origin/$NRF_BRANCH > /dev/null 2>&1
fi
popd
pushd component/oai-amf
git fetch --prune > /dev/null 2>&1
git checkout $AMF_BRANCH > /dev/null 2>&1
git pull origin $AMF_BRANCH > /dev/null 2>&1
git branch -D $AMF_BRANCH > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
git checkout $AMF_BRANCH > /dev/null 2>&1
else
git checkout -b $AMF_BRANCH origin/$AMF_BRANCH > /dev/null 2>&1
fi
popd
pushd component/oai-smf
git fetch --prune > /dev/null 2>&1
git checkout $SMF_BRANCH > /dev/null 2>&1
git pull origin $SMF_BRANCH > /dev/null 2>&1
git branch -D $SMF_BRANCH > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
git checkout $SMF_BRANCH > /dev/null 2>&1
else
git checkout -b $SMF_BRANCH origin/$SMF_BRANCH > /dev/null 2>&1
fi
popd
pushd component/oai-upf-equivalent
git fetch --prune > /dev/null 2>&1
git checkout $SPGWU_BRANCH > /dev/null 2>&1
git pull origin $SPGWU_BRANCH > /dev/null 2>&1
git branch -D $SPGWU_BRANCH > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
git checkout $SPGWU_BRANCH > /dev/null 2>&1
else
git checkout -b $SPGWU_BRANCH origin/$SPGWU_BRANCH > /dev/null 2>&1
fi
popd
fi
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment