Skip to content

Commit

Permalink
Update documentation for release (#18)
Browse files Browse the repository at this point in the history
  • Loading branch information
gab-arrobo authored Apr 1, 2024
1 parent 8ace220 commit d80e8a8
Show file tree
Hide file tree
Showing 10 changed files with 154 additions and 10 deletions.
2 changes: 1 addition & 1 deletion configuration/config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ used by third-party automation and management platforms.
Reference helm chart
--------------------

- `SD-Core Helm Chart Repository <https://gerrit.opencord.org/admin/repos/sdcore-helm-charts>`_
- `SD-Core Helm Chart Repository <https://github.com/omec-project/sdcore-helm-charts>`_
- Sub components in sdcore-helm-charts

- omec-control-plane: 4G Network functions helm charts
Expand Down
2 changes: 1 addition & 1 deletion configuration/config_upf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ UPF Configuration

Below you may find some of the upf override configuration.

Bess default values `can be found here <https://gerrit.opencord.org/plugins/gitiles/sdfabric-helm-charts/+/refs/heads/master/bess-upf/values.yaml>`_
Bess default values `can be found here <https://github.com/omec-project/sdcore-helm-charts/blob/main/bess-upf/values.yaml>`_

UPF Address Pool
-----------------
Expand Down
2 changes: 1 addition & 1 deletion deployment/deployment4G.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Step1 - Clone SD-Core 4G Helm chart
'''''''''''''''''''''''''''''''''''
.. code-block::
git clone "https://gerrit.opencord.org/sdcore-helm-charts"
git clone https://github.com/omec-project/sdcore-helm-charts.git
cd sdcore-helm-charts/sdcore-helm-charts/
helm dep update #Update Helm dependencies
Expand Down
2 changes: 1 addition & 1 deletion deployment/deployment5G.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ Step1 - Clone SD-Core 5G Helm chart
'''''''''''''''''''''''''''''''''''
.. code-block::
git clone "https://gerrit.opencord.org/sdcore-helm-charts"
git clone https://github.com/omec-project/sdcore-helm-charts.git
cd sdcore-helm-charts/sdcore-helm-charts/
helm dep update #Update Helm dependencies
Expand Down
2 changes: 1 addition & 1 deletion developer/aiab5g.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ example::

images:
tags:
webui: omecproject/5gc-webui:master-7f96cfd
webui: omecproject/5gc-webui:rel-1.4.0

To upgrade a running 5G SD-CORE with the new image, or to redeploy the 5G
SD-CORE with the image::
Expand Down
4 changes: 2 additions & 2 deletions developer/gnbsim.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ plane path (N3 Tunnel).
gNBSim Code References
----------------------

* Code Repository: `github repository <https://github.com/omec-project/gnbsim>`_
* Helm Chart: `gerrit repository <https://gerrit.opencord.org/plugins/gitiles/sdcore-helm-charts/+/refs/heads/master/5g-ran-sim/>`_
* Code Repository: `gNBSim repository <https://github.com/omec-project/gnbsim>`_
* Helm Chart: `github repository <https://github.com/omec-project/sdcore-helm-charts/tree/main/5g-ran-sim>`_
* RAN SIM Helm Chart: `5g-ran-sim repository <https://charts.aetherproject.org>`_


Expand Down
3 changes: 3 additions & 0 deletions dict.txt
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ gnbsim
golang
gpp
grpc
hadolint
hpa
hss
hssdb
Expand All @@ -164,6 +165,7 @@ kubectl
kubernetes
kustomization
latencies
linters
macroENB
mbr
mcc
Expand All @@ -174,6 +176,7 @@ miniKube
minikube
mme
mnc
mongodb
msg
mtu
multus
Expand Down
130 changes: 130 additions & 0 deletions release/1.4.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
..
SPDX-FileCopyrightText: © 2024 Intel Corporation
SPDX-License-Identifier: Apache-2.0
SD-Core 1.4 Release
===================

1.4.0 Release Details
---------------------

SD-Core supports 4G & 5G network functions and includes APIs for configuration,
telemetry, policy management. Access networks can connect to Access & Mobility
Management Function (AMF) or Mobility Management Entity (MME) depending on the
type of access used. Below is the summary of the features delivered in SD-Core
1.4 Release.

Highlights
----------

Release 1.4.0 focuses on improving the quality of the source code, adding new
automated checks in the CI/CD pipeline, bug fixes to increase stability, and
several improvements in the UPF. All new functionality in this release
contributes to better support of 5G Network functionality.

**Go version**: Code-base was updated to use Go 1.21.

**Linters**: Enable multiple linters and enforce them to check Go code.
Additionally, enable linter for Dockerfile (hadolint) and linters for other
components.

**CI/CD pipeline**: GitHub Actions were enabled in all of the sd-core 5G
components. Moreover, `Dependabot` was added to help manage dependency and
security updates.

**Docker images**: Full refactoring of Dockerfile to obtain the smallest
possible size for the resulting Docker image.

**Consolidated repositories**: Multiple small/tiny repositories were
consolidated into the `util` repository such that the whole 5G sd-core is
composed of as few as possible repositories.

**Helm Charts and Documentation**: The repositories for the Helm Charts
(sdcore-helm-charts) and Documentation (sdcore-docs) were moved from Gerrit to
GitHub. Moreover,the Helm Charts for the UPF were moved from the
`sdfabric-helm-charts` umbrella into the `sdcore-helm-charts` umbrella.

**Network Functions**: Remove NRF caching in multiple network functions. A more
up-to-spec caching will be re-enabled in the future.

**Webui**: Improvements in this module include:

* Add GET operations for DeviceGroups and Network Slices.
* Storing configuration in mongodb (separate database collection for configuration).
* Recovering configuration in case `webui` crashes.
* Port for the `webui` is now configurable for all NFs (it was hard-coded before).

**Sctp-Lb**: Full refactoring of SCTPLB code, including the SCTP load balancing
algorithm and its Docker image (size decreased from ~1.2GB to 21.2MB)

**Config 5G**: When deploying SD-Core, all services using this client code go
into a tight loop using 100% of a CPU thread until webui is available and
configured with a network slice. This issue was resolved by adding some small
sleeps that will free up some CPU time. The worst case scenario with this sleep
is that the service will take 5 seconds more to get configured after initial
deployment.

**gNBSim**: Several improvements were added to this component, including:

* Add support for retransmit message.
* Add support for statistics at procedure level and transaction level.
* Add E2E latency measurements.
* Add support for Temporary Mobile Subscriber Identity (TMSI).
* gNBSim can be deployed as a single Docker container, while the ``SD-Core`` runs
in a Kubernetes cluster.

**UPF**: The UPF was the component that has the most feature additions among all
of the SD-Core components. Among the most relevant changes are:

* Add GTPu path measurement/monitoring as specified in 3GPP TS 23.501 (Release 16).
* Enable CNDP (Cloud Native Data Plane) as another mode of operation.
* Make `BESS` to use a newer version of DPDK (i.e., DPDK-22.11).
* Use `JSONC` format for the UPF's configuration instead of JSON to be able to
add comments to configuration file.
* Mark GTP (IP) packets with the same DSCP value as the inner IP packet.
* Fix issue with GTP Echo response.
* Improve documentation to deploy UPF in modes (AF_PACKET, AF_XDP, CNDP, DPDK).
* Refactor route-control script to reduce complexity and to improve readability,
logging, error handling, and threading.

.. note::
For any 3gpp release compliance refer to (:ref:`4g-compliance`) and (:ref:`5g-compliance`)

Component Versions in the 1.4.0 Release
---------------------------------------

Helm Chart Versions and their component charts and containers:

* sdcore-helm-chart: ``0.12.8``
* omec-control-plane: ``0.12.0``
* hssdb: ``omecproject/c3po-hssdb:master-df54425``
* hss : ``omecproject/c3po-hss:master-df54425``
* pcrf : ``omecproject/c3po-pcrf:pcrf-d58dd1c``
* pcrfdb : ``omecproject/c3po-pcrf:pcrf-d58dd1c``
* config4g : ``omecproject/5gc-webui:master-1121545``
* spgwc : ``omecproject/spgw:master-e419062``
* mme : ``omecproject/nucleus:master-a8002eb``

* omec-sub-provision: ``1.0.0``
* simapp: ``omecproject/simapp:rel-1.4.0``

* 5g-control-plane: ``1.0.0``
* amf: ``omecproject/5gc-amf:rel-1.4.0``
* nrf: ``omecproject/5gc-nrf:rel-1.4.0``
* smf: ``omecproject/5gc-smf:rel-1.4.0``
* ausf: ``omecproject/5gc-ausf:rel-1.4.0``
* nssf: ``omecproject/5gc-nssf:rel-1.4.0``
* pcf: ``omecproject/5gc-pcf:rel-1.4.0``
* udr: ``omecproject/5gc-udr:rel-1.4.0``
* udm: ``omecproject/5gc-udm:rel-1.4.0``
* webui: ``omecproject/5gc-webui:rel-1.4.0``
* sctplb: ``omecproject/sctplb:rel-1.4.0``
* metricfunc: ``omecproject/metricfunc:rel-1.4.0``
* upfadapter: ``omecproject/5gc-smf:rel-1.4.0``

* bess-upf ``1.0.0``
* bess: ``omecproject/upf-epc-bess:rel-1.4.0``
* pfcpiface: ``omecproject/upf-epc-pfcpiface:rel-1.4.0``

* 5g-ran-sim ``1.0.0``
* gnbsim: ``omecproject/5gc-gnbsim:rel-1.4.0``
14 changes: 13 additions & 1 deletion release/process.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Code receives Git tags as a part of the CI process
created only the version is a SemVer released version (example: ``1.2.3``, no
``-dev`` or ``-rc`` extensions)

* Tagging is *only done by the CI system* (Jenkins), which pushes tags to git
* Tagging is *only done by the CI system* (GitHub Actions), which pushes tags to git
repos after a submit/merge of code which changes the **VERSION** file.

* CI system enforces tag uniqueness - no two commits have the same released
Expand All @@ -41,6 +41,18 @@ All docker images are tagged based on their git tags.
* This allows a container to be rebuilt given an arbitrary git commit with
fair confidence that it will result in the same code in the container.

* There are two sets of Docker images that are created

* The first set of Docker images is created based on every Pull Request that
is merged in the source code and the image has the following two tags:
``latest`` and ``master-hashId``, where the ``hashId`` is the short commit ID.
These 2 images are pushed into the ``sdcore`` project in ``registry.aetherproject.org``
(https://registry.aetherproject.org/harbor/projects/9/repositories)
* The second set is the official release image which is created only when
there is a new code release (when **VERSION** file changed). This image is
pushed to ``DockerHub`` (https://hub.docker.com/u/omecproject) and has a tag
named ``rel-semver`` (e.g., rel-1.4.0).

* Official images are only pushed to registries by the CI system

* Increases repeatability of the process, and prevents human accidents.
Expand Down
3 changes: 1 addition & 2 deletions release/upcoming.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
SD-Core Next Release
========================

We expect next SD-Core release to be available in the mid of **Jan 2023**.
We expect next SD-Core release to be available in the **Sep 2024**.

Metrics Support
----------------
Expand All @@ -32,7 +32,6 @@ Cloud Native UPF
gNBSim Features
----------------

- gNBSim deployment as single docker container
- Running multiple gNodeBs under same gNBSim container
- gNodeB handover support

Expand Down

0 comments on commit d80e8a8

Please sign in to comment.