From: pborla Date: Tue, 10 Dec 2024 07:33:15 +0000 (+0530) Subject: [Task-Id: ODUHIGH-632] K release documentation X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=refs%2Fheads%2Fk-release;p=o-du%2Fl2.git [Task-Id: ODUHIGH-632] K release documentation Change-Id: I9d986dc7af6bb5b6a745804f90fe2c648dbb5465 Signed-off-by: pborla --- diff --git a/container-tag.yaml b/container-tag.yaml index c74efefe2..447c5b6e1 100644 --- a/container-tag.yaml +++ b/container-tag.yaml @@ -1,4 +1,4 @@ # The Jenkins job requires a tag to build the Docker image. # Global-JJB script assumes this file is in the repo root. --- -tag: 10.0.1 +tag: 11.0.1 diff --git a/docs/Container_image.png b/docs/Container_image.png new file mode 100644 index 000000000..f1cf9567f Binary files /dev/null and b/docs/Container_image.png differ diff --git a/docs/README b/docs/README index b84c2962e..127e55d37 100644 --- a/docs/README +++ b/docs/README @@ -20,6 +20,14 @@ A. Directory Structure : h. rlog : logging module i. O1 : O1 module +4. l2/container/ : contains helm charts of DU, CU and RIC + a. cu_helm : CU helm chart + b. du_helm : DU helm chart + c. ric_helm : RIC helm chart + +5. l2/tools/ : + a. Fapi_Decoder : Decodes FAPI messages + b. Memory_Leak_Detector : Detects memory leaks B. Pre-requisite for Compilation : ---------------------------------- @@ -313,3 +321,80 @@ J. Troubleshooting Netconf server issues $cd l2/build/scripts $sudo ./troubleshoot_netconf.sh cleanup execute section C.3 and C.4 again + +K. Running the DU, CU Stub and RIC Stub in containerization mode +----------------------------------------------------------------- + +1. Pre-requisite for Running in Containerization Mode + + - Install Docker + + - Set Up Kubernetes Cluster Using Minikube and Use Docker as the Driver + + +2. Steps to Run the DU, CU Stub, and RIC Stub in Containerization Mode + a. Clone and compile the Code + - Create a directory: + i. mkdir ODU_CONTAINER + + - Navigate to the directory: + i. cd ODU_CONTAINER + + - Clone the repository: + i. git clone "https://gerrit.o-ran-sc.org/r/o-du/l2" + + - Compilation steps are mentioned in section d. + + b. Set Docker Environment + - Set up Docker environment for Minikube: + i. eval $(minikube docker-env) + + c. Generate Docker Images + - Navigate to the l2 directory: + i. cd l2 + + - Build the Docker images: + i. docker build -f Dockerfile.cu -t new-cu-container:v1 . + ii. docker build -f Dockerfile.ric -t new-ric-container:v1 . + iii. docker build -f Dockerfile.du -t new-du-container:v1 . + + d. Check Docker Images + - Run the following command to check if the Docker images are created: + i. docker images + + e. Deploy with Helm + - Go to the container/cu_helm directory and deploy the ocu chart: + i. cd container/cu_helm + ii. helm install ocu cu + + - Go to the du_helm directory and deploy the odu chart: + i. cd ../du_helm + ii. helm install odu du + + - Go to the ric_helm directory and deploy the ric chart: + i. cd ../ric_helm + ii. helm install ric ric + + f. Get Pod, Deployment, and Service Info + - Run the following command to get information about the pod, deployment, and service: + i. kubectl get all + + g. Run the Pods in Separate Terminals + - Terminal 1 (CU Pod): + i. kubectl exec -it -- bash + ii. ./cu-docker-entrypoint.sh + iii. cd /root/l2/build/odu/bin + iv. ./cu_stub/cu_stub + + - Terminal 2 (RIC Pod): + i. kubectl exec -it -- bash + ii. ./ric-docker-entrypoint.sh + iii. cd /root/l2/build/odu/bin + iv. ./ric_stub/ric_stub + + - Terminal 3 (DU Pod): + i. kubectl exec -it -- bash + ii. ./docker-entrypoint.sh + iii. cd /root/l2/bin + iv. ./odu/odu + diff --git a/docs/api-docs.rst b/docs/api-docs.rst index b7520d8d5..9f4eb45fe 100644 --- a/docs/api-docs.rst +++ b/docs/api-docs.rst @@ -6,7 +6,7 @@ API-Docs ######## -This is the API-docs for J release o-du/l2. +This is the API-docs for K release o-du/l2. .. contents:: :depth: 3 @@ -296,7 +296,7 @@ Note: DU APP module consist functionality related to F1 Handler, E2 Handler and | +-------------------------------+-----------------+-----------+-----------------------------------------+ | |Cell Configuration Request | Additional API | |Configures cell information at MAC. | | +-------------------------------+-----------------+-----------+-----------------------------------------+ -| |Cell Configuration Response | Additional API | |Response to cell Cfg Req from DUAPP | +| |Cell Configuration Response | Additional API | |Response to cell Cfg Req from DUAPP | | +-------------------------------+-----------------+-----------+-----------------------------------------+ | |Cell Delete Request | Additional API | |Deletes cell information at MAC. | | +-------------------------------+-----------------+-----------+-----------------------------------------+ @@ -380,7 +380,7 @@ Note: DU APP module consist functionality related to F1 Handler, E2 Handler and |**DU APP** +-------------------------------+-----------------+-----------+-----------------------------------------+ | & **RLC** |UL-RRC Message Delivery Report | Aligned |11.2.5.9 | | | +-------------------------------+-----------------+-----------+-----------------------------------------+ -| |RLC Max Retransmission Reached | Not Implemented |11.2.5.10 | | +| |RLC Max Retransmission Reached | Aligned |11.2.5.10 | | | +-------------------------------+-----------------+-----------+-----------------------------------------+ | |UL-RLC Re-establishment Request| Not Implemented |11.2.5.11 | | | +-------------------------------+-----------------+-----------+-----------------------------------------+ diff --git a/docs/installation-guide.rst b/docs/installation-guide.rst index 1cbea4cbc..92470c3ba 100644 --- a/docs/installation-guide.rst +++ b/docs/installation-guide.rst @@ -18,7 +18,10 @@ Version history | **Date** | **Ver.** | **Author** | **Comment** | | | | | | +--------------------+--------------------+--------------------+--------------------+ -| 2023-06-10 | 8.0.1 | Radisys | J release | +| 2024-12-10 | 9.0.1 | Radisys | K release | +| | | | | ++--------------------+--------------------+--------------------+--------------------+ +| 2024-06-10 | 8.0.1 | Radisys | J release | | | | | | +--------------------+--------------------+--------------------+--------------------+ | 2023-12-14 | 7.0.1 | Radisys | I release | diff --git a/docs/overview.rst b/docs/overview.rst index 45f88a161..e91118fb4 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -812,3 +812,37 @@ The O-DU High partially supports below use-cases: - Health Check +Containerization of DU, CU stub & RIC stub +------------------------------------------- + + +This section describes the Containerization of DU, CU stub and RIC stub: + +- The DU, CU Stub, and RIC Stub are packaged into portable containers for consistent operation across various environments. + +- Docker is used to create these containers, ensuring that all necessary dependencies are included for proper functionality. + +- These containers are deployed and managed using Kubernetes, which handles scaling, load balancing, and resource allocation. + +- Helm automates the deployment and configuration of the containers, simplifying the management process. + + +.. figure:: Container_image.png + :width: 300 + :alt: Containerization of DU, CU stub & RIC stub + + Figure 28 - Containerization of DU, CU stub & RIC stub + +Addition Functionality +----------------------- + +Tool for FAPI message decoder ++++++++++++++++++++++++++++++ + +- This tool decodes FAPI messages exchanged between the DU and L1. + +Tool for Memory leak ++++++++++++++++++++++ + +- The tool detects the memory leaks in the ODU code. + diff --git a/docs/release-notes.rst b/docs/release-notes.rst index cf1dc1358..11b91a09c 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -5,7 +5,7 @@ Release-Notes ************** -This document provides the release notes for J Release of O-DU-L2. +This document provides the release notes for K Release of O-DU-L2. .. contents:: :depth: 3 @@ -19,6 +19,9 @@ Version history | **Date** | **Ver.** | **Author** | **Comment** | | | | | | +--------------------+--------------------+--------------------+--------------------+ +| 2024-12-10 | 11.0.0 | Radisys | K release | +| | | | | ++--------------------+--------------------+--------------------+--------------------+ | 2024-06-10 | 10.0.0 | Radisys | J release | | | | | | +--------------------+--------------------+--------------------+--------------------+ @@ -59,6 +62,16 @@ Version history Summary ------- +K- release +^^^^^^^^^^ +This release contains the following: + + - Containerization of CU-STUB, RIC-STUB and ODU + + - FAPI Decoder Tool + + - RLC Max Retransmission between RLC and DU is implemented + J- release ^^^^^^^^^^ This release contains the following: @@ -249,6 +262,25 @@ This release contains the following: Release Data ------------ +K release +^^^^^^^^^^ ++--------------------------------------+------------------------------------------+ +| **Project** | ODUHIGH | +| | | ++--------------------------------------+------------------------------------------+ +| **Repo/commit-ID** | o-du/l2/ | +| | I9d986dc7af6bb5b6a745804f90fe2c648dbb5465| ++--------------------------------------+------------------------------------------+ +| **Release designation** | K release | +| | | ++--------------------------------------+------------------------------------------+ +| **Release date** | 2024-12-10 | +| | | ++--------------------------------------+------------------------------------------+ +| **Purpose of the delivery** | K release | +| | | ++--------------------------------------+------------------------------------------+ + J release ^^^^^^^^^^ +--------------------------------------+------------------------------------------+ @@ -456,267 +488,307 @@ Feature Additions **JIRA BACK-LOG:** +K-release +^^^^^^^^^^ + ++-------------------------------------------------------+-----------------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-611 | Containerization of ODU, CU stub & RIC stub | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-618 | Tool for FAPI message decoder | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-625 | Adding trigger for RLC_MAX_Transmission at RLC| +| | and handling RlcMaxRetransInd at DU | ++-------------------------------------------------------+-----------------------------------------------+ + J-release ^^^^^^^^^^ -+-----------------------------------------------+-----------------------------------------------+ -| **JIRA REFERENCE** | **SLOGAN** | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-556 | Multi UE per slot scheduling UL | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-538 | XML based input configuration for ODU-High | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-557 | OSC-OAI Collaboration | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-475 | Integration of ODU-High with intel L1 | -| | | -+-----------------------------------------------+-----------------------------------------------+ ++--------------------------------------------------------+-----------------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++--------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-556 | Multi UE per slot scheduling UL | +| | | ++--------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-538 | XML based input configuration for ODU-High | +| | | ++--------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-557 | OSC-OAI Collaboration | +| | | ++--------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-475 | Integration of ODU-High with intel L1 | +| | | ++--------------------------------------------------------+-----------------------------------------------+ I-release ^^^^^^^^^^ -+-----------------------------------------------+-----------------------------------------------+ -| **JIRA REFERENCE** | **SLOGAN** | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-516 | Alignment to "O-RAN.WG3.E2AP-R003-v03.00" and | -| | "O-RAN.WG3.E2SM-KPM-R003-v03.00" | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-517 | Multi UE per slot scheduling | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-518 | Alignment to ORAN WG8 AAD v9.0 specification | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-538 | XML based input configuration for ODU-High | -| | | -+-----------------------------------------------+-----------------------------------------------+ ++-------------------------------------------------------+-----------------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-516 | Alignment to "O-RAN.WG3.E2AP-R003-v03.00" and | +| | "O-RAN.WG3.E2SM-KPM-R003-v03.00" | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-517 | Multi UE per slot scheduling | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-518 | Alignment to ORAN WG8 AAD v9.0 specification | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-538 | XML based input configuration for ODU-High | +| | | ++-------------------------------------------------------+-----------------------------------------------+ H-release ^^^^^^^^^^ -+-----------------------------------------------+-----------------------------------------------+ -| **JIRA REFERENCE** | **SLOGAN** | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-463 | Inter-CU Handover | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-488 | Alignment to ORAN WG8 AAD v7.0 specification | -| | and Enhancement for Multi-scheduling alogrithm| -| | framework | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-510 | E2 upgrade to v3.0 and enhancement | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-475 | Integration of ODU-High with L1 | -| | | -+-----------------------------------------------+-----------------------------------------------+ ++-------------------------------------------------------+-----------------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-463 | Inter-CU Handover | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-488 | Alignment to ORAN WG8 AAD v7.0 specification | +| | and Enhancement for Multi-scheduling alogrithm| +| | framework | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-510 | E2 upgrade to v3.0 and enhancement | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-475 | Integration of ODU-High with L1 | +| | | ++-------------------------------------------------------+-----------------------------------------------+ G-release ^^^^^^^^^^ -+-----------------------------------------------+-----------------------------------------------+ -| **JIRA REFERENCE** | **SLOGAN** | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-461 | Improvement of code coverage | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-462 | Implementation of Discontinuous Reception(DRX)| -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-464 | Alignment to latest ORAN WG8 AAD specification| -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-475 | Integration of ODU-High with L1 | -| | | -+-----------------------------------------------+-----------------------------------------------+ ++-------------------------------------------------------+-----------------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-461 | Improvement of code coverage | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-462 | Implementation of Discontinuous Reception(DRX)| +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-464 | Alignment to latest ORAN WG8 AAD specification| +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-475 | Integration of ODU-High with L1 | +| | | ++-------------------------------------------------------+-----------------------------------------------+ F-release ^^^^^^^^^^ -+-----------------------------------------------+-----------------------------------------------+ -| **JIRA REFERENCE** | **SLOGAN** | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-402 | Support for HARQ and scheduler enhancement to | -| | prioritize retransmission | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-404 | Support for E2AP version 2.0 | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-405 | Support for Inter-DU Handover | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-406 | Support for Idle Mode Paging | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-429 | O1 Enhancements | -| | | -+-----------------------------------------------+-----------------------------------------------+ ++-------------------------------------------------------+-----------------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-402 | Support for HARQ and scheduler enhancement to | +| | prioritize retransmission | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-404 | Support for E2AP version 2.0 | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-405 | Support for Inter-DU Handover | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-406 | Support for Idle Mode Paging | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-429 | O1 Enhancements | +| | | ++-------------------------------------------------------+-----------------------------------------------+ e-release ^^^^^^^^^^ -+-----------------------------------------------+-----------------------------------------------+ -| **JIRA REFERENCE** | **SLOGAN** | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-351 | Support for Multi bearers | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-352 | Support for Multi UE | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-363 | Network Slicing support | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-340 | Resource allocation in time domain changes to | -| | meet flexible k0, k1 and k2 values | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-361 | Support for cell configuration over O1 | -| | interface | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-395 | Optimization, scaling and rework | -| | | -+-----------------------------------------------+-----------------------------------------------+ ++-------------------------------------------------------+-----------------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-351 | Support for Multi bearers | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-352 | Support for Multi UE | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-363 | Network Slicing support | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-340 | Resource allocation in time domain changes to | +| | meet flexible k0, k1 and k2 values | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-361 | Support for cell configuration over O1 | +| | interface | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-395 | Optimization, scaling and rework | +| | | ++-------------------------------------------------------+-----------------------------------------------+ D ^^^^^^^ -+-----------------------------------------------+-----------------------------------------------+ -| **JIRA REFERENCE** | **SLOGAN** | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-264 | Support for Mu1 | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-265 | Support for 100 MHz | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-266 | Support for TDD mode | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-267 | Integration with O-DU Low in Radio mode | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-268 | Integration with O-CU | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-269 | Support for E2E testing | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-299 | Closed Loop Automation use-case | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-196 | Netconf session for O1 interface for CM | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-340 | Resource allocation in time domain changes to | -| | meet flexible k0, k1 and k2 values | -+-----------------------------------------------+-----------------------------------------------+ ++-------------------------------------------------------+-----------------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-264 | Support for Mu1 | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-265 | Support for 100 MHz | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-266 | Support for TDD mode | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-267 | Integration with O-DU Low in Radio mode | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-268 | Integration with O-CU | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-269 | Support for E2E testing | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-299 | Closed Loop Automation use-case | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-196 | Netconf session for O1 interface for CM | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-340 | Resource allocation in time domain changes to | +| | meet flexible k0, k1 and k2 values | ++-------------------------------------------------------+-----------------------------------------------+ Cherry ^^^^^^^ -+-----------------------------------------------+-----------------------------------------------+ -| **JIRA REFERENCE** | **SLOGAN** | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-10 | UE attach procedure with basic scheduling | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-188 | Support for all short PRACH formats | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-191 | Explore O1 interface | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-189 | Integration with O-DU Low | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-184 | UE UL Data path | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-185 | UE DL Data path | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-186 | Applying 64 QAM Modulation in DL | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-187 | Applying 16 QAM Modulation in UL | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-190 | Integration with VIAVI Software | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-214 | get-AlarmList implementation on O1 interface | -| | | -+-----------------------------------------------+-----------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-196 | CM Support on O1 interface | -| | | -+-----------------------------------------------+-----------------------------------------------+ ++-------------------------------------------------------+-----------------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-10 | UE attach procedure with basic scheduling | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-188 | Support for all short PRACH formats | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-191 | Explore O1 interface | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-189 | Integration with O-DU Low | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-184 | UE UL Data path | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-185 | UE DL Data path | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-186 | Applying 64 QAM Modulation in DL | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-187 | Applying 16 QAM Modulation in UL | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-190 | Integration with VIAVI Software | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-214 | get-AlarmList implementation on O1 interface | +| | | ++-------------------------------------------------------+-----------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-196 | CM Support on O1 interface | +| | | ++-------------------------------------------------------+-----------------------------------------------+ Previous Releases ^^^^^^^^^^^^^^^^^^ -+---------------------------------------------+-------------------------------------------------+ -| **JIRA REFERENCE** | **SLOGAN** | -| | | -+---------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-1 | F1-C enhancement | -| | | -+---------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-5 | F1-U implementation | -| | | -+---------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-11 | E2 implementation | -| | | -+---------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-9 | Cell broadcast procedure | -| | | -+---------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-10 | UE attach procedure till msg-4 | -| | | -+---------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-8 | FAPI interface implementation | -| | | -+---------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-27 | RLC layer interface enhancements | -| | | -+---------------------------------------------+-------------------------------------------------+ ++-----------------------------------------------------+-------------------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++-----------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-1 | F1-C enhancement | +| | | ++-----------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-5 | F1-U implementation | +| | | ++-----------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-11 | E2 implementation | +| | | ++-----------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-9 | Cell broadcast procedure | +| | | ++-----------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-10 | UE attach procedure till msg-4 | +| | | ++-----------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-8 | FAPI interface implementation | +| | | ++-----------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-27 | RLC layer interface enhancements | +| | | ++-----------------------------------------------------+-------------------------------------------------+ Bug Corrections ---------------- **JIRA TICKETS:** +K-release +^^^^^^^^^^ + ++------------------------------------------------------+-------------------------------------------------+ +| **JIRA REFERENCE** | **BUG DESCRIPTION** | +| | | ++------------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-631 | MSG4 PDCCH and PDSCH crash fix when K0 is not 0 | +| | | ++------------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-629 | SlotCfg correction as per TDD_PERIODICITY and | +| | numerology | ++------------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-624 | UL AM Config and DL AM Config to be swapped in | +| | UE Create/Reconfg API (F1AP-RLC Interface) | ++------------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-623 | Added RbType In UL/DL Data Transfer in | +| | RLC-MAC Interface | ++------------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-623 | Added RbType In UL/DL Data Transfer in | +| | RLC-MAC Interface | ++------------------------------------------------------+-------------------------------------------------+ + J-release ^^^^^^^^^^ -+----------------------------------------------+-------------------------------------------------+ -| **JIRA REFERENCE** | **BUG DESCRIPTION** | -| | | -+----------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-606 | Fixing null memory size allocation issue | -| | | -+----------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-593 | Pack and unpack function nomenclature correction| -| | | -+----------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-584 | Fixing the error number issue CmInetSctpConnectx| -| | function | -+----------------------------------------------+-------------------------------------------------+ -| https://jira.o-ran-sc.org/browse/ODUHIGH-574 | Fix for Inconsistent behavious in ML | -| | | -+----------------------------------------------+-------------------------------------------------+ ++------------------------------------------------------+-------------------------------------------------+ +| **JIRA REFERENCE** | **BUG DESCRIPTION** | +| | | ++------------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-606 | Fixing null memory size allocation issue | +| | | ++------------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-593 | Pack and unpack function nomenclature correction| +| | | ++------------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-584 | Fixing the error number issue CmInetSctpConnectx| +| | function | ++------------------------------------------------------+-------------------------------------------------+ +| https://lf-o-ran-sc.atlassian.net/browse/ODUHIGH-574 | Fix for Inconsistent behavious in ML | +| | | ++------------------------------------------------------+-------------------------------------------------+ Deliverables diff --git a/docs/user-guide.rst b/docs/user-guide.rst index fa7cda8ef..834a7bd1e 100644 --- a/docs/user-guide.rst +++ b/docs/user-guide.rst @@ -4,7 +4,7 @@ User Guide *********** -This is the user guide for J release of O-DU/l2. +This is the user guide for K release of O-DU/l2. Follow installation-guide to get all the dependencies ready. .. contents:: @@ -66,17 +66,17 @@ II. Execution - Using Docker Images The call flow between O-DU High and CU Stub can be achieved by executing docker containers. - Pull the last built docker images: - - docker pull nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2:10.0.1 + - docker pull nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2:11.0.1 - docker pull nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2-cu-stub: - Run CU Stub docker: - docker run -it --privileged --net=host --entrypoint bash - nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2-cu-stub:10.0.1 + nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2-cu-stub:11.0.1 - ./cu_stub - Run ODU docker: - docker run -it --privileged --net=host --entrypoint bash - nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2:10.0.1 + nexus3.o-ran-sc.org:10004/o-ran-sc/o-du-l2:11.0.1 - ./odu @@ -254,3 +254,185 @@ E. How to execute the Health Check using netopeer-cli : get alarm-list The XML output is a list of active alarms in the O-DU High system. +F. Running the DU, CU Stub and RIC Stub in containerization mode +----------------------------------------------------------------- + +1. Pre-requisite for Running in Containerization Mode + + - Install Docker + + - Set Up Kubernetes Cluster Using Minikube and Use Docker as the Driver + + +2. Steps to Run the DU, CU Stub, and RIC Stub in Containerization Mode + a. Clone and compile the Code + - Create a directory: + i. mkdir ODU_CONTAINER + + - Navigate to the directory: + i. cd ODU_CONTAINER + + - Clone the repository: + i. git clone "https://gerrit.o-ran-sc.org/r/o-du/l2" + + - Compilation steps are mentioned in section d. + + b. Set Docker Environment + - Set up Docker environment for Minikube: + i. eval $(minikube docker-env) + + c. Generate Docker Images + - Navigate to the l2 directory: + i. cd l2 + + - Build the Docker images: + i. docker build -f Dockerfile.cu -t new-cu-container:v1 . + ii. docker build -f Dockerfile.ric -t new-ric-container:v1 . + iii. docker build -f Dockerfile.du -t new-du-container:v1 . + + d. Check Docker Images + - Run the following command to check if the Docker images are created: + i. docker images + + e. Deploy with Helm + - Go to the container/cu_helm directory and deploy the ocu chart: + i. cd container/cu_helm + ii. helm install ocu cu + + - Go to the du_helm directory and deploy the odu chart: + i. cd ../du_helm + ii. helm install odu du + + - Go to the ric_helm directory and deploy the ric chart: + i. cd ../ric_helm + ii. helm install ric ric + + f. Get Pod, Deployment, and Service Info + - Run the following command to get information about the pod, deployment, and service: + i. kubectl get all + + g. Run the Pods in Separate Terminals + - Terminal 1 (CU Pod): + i. kubectl exec -it -- bash + ii. ./cu-docker-entrypoint.sh + iii. cd /root/l2/build/odu/bin + iv. ./cu_stub/cu_stub + + - Terminal 2 (RIC Pod): + i. kubectl exec -it -- bash + ii. ./ric-docker-entrypoint.sh + iii. cd /root/l2/build/odu/bin + iv. ./ric_stub/ric_stub + + - Terminal 3 (DU Pod): + i. kubectl exec -it -- bash + ii. ./docker-entrypoint.sh + iii. cd /root/l2/bin + iv. ./odu/odu + +G. Steps to run FAPI decoder +----------------------------- + +1. Enable the Platform flag in the main makefile + - Location: `l2/build/odu/makefile` + - Add `-DFAPI_DECODER` to the `PLTFRM_FLAGS` line. It should look like: + `PLTFRM_FLAGS = -UMSPD -DODU -DINTEL_FAPI -DODU_MEMORY_DEBUG_LOG -DFAPI_DECODER` + +2. Compile and generate all binaries + - Binaries to compile: + - ODU + - CU_STUB + - RIC_STUB + +3. Go to the `l2/tools/Fapi_Decoder` directory and compile the decoder + - Run the following command: `gcc -o decoder decoder.c` + +4. Execute binaries and capture logs + - Step 1: Open four terminals: + - Terminal 1: Execute the RIC binary. + - Terminal 2: Execute the CU binary. + - Terminal 3: Execute the ODU binary. + - Terminal 4: Capture the logs at the decoder and run `./decoder`. + - Step 2: Execute the RIC and CU binaries in Terminal 1 and Terminal 2. + - Step 3: Run the decoder in Terminal 4 using the `./decoder` command. + - Step 4: Execute the ODU binary in Terminal 3 after completing the previous steps. + +H. Steps to run the memory leak tool +------------------------------------- + +1. Enable the Platform flag in the main makefile + - Location: l2/build/odu/makefile + - Add -DODU_MEMORY_DEBUG_LOG to the PLTFRM_FLAGS line: + PLTFRM_FLAGS = -UMSPD -DODU -DINTEL_FAPI -DODU_MEMORY_DEBUG_LOG + +2. Enable the CLA Use-case (Enable the Cell Down scenario) + - A hack to enable the complete scenario from Cell Up to Down so that memory status can be captured: + - This ensures that memory allocation and deallocation are tracked throughout the Cell Up and Cell Down process. + - The goal is to log memory usage and status for debugging or analysis during the transition from Cell Up to Cell Down. + + Files to change: + - File 1: l2/src/du_app/du_egtp.c + - In the egtpRecvMsg() function: + - Disable the infinite while loop in the EGTP receiver thread. + + - File 2: l2/src/du_app/du_f1ap_msg_hdl.c + - In the BuildAndSendUeCtxtRsp() function: + - Inside the case "UE_CTXT_MOD" action type, add: + BuildAndSendDUConfigUpdate(SERV_CELL_TO_DELETE); + +3. Compile and generate all binaries + - Binaries to compile: + - ODU + - CU_STUB + - RIC_STUB + +4. Execute binaries and capture logs + - Step 1: Execute RIC and CU binaries. + - Step 2: Before running the ODU binary: + - Capture logs using the script command. + +5. Complete CELL Down and stop capturing logs + - Once the CELL Down process completes in the ODU console: + - Stop/kill the ODU binary. + - Exit log capture. + +6. Download console logs + - Save the logs to your system (e.g., Desktop). + +7. Analyze ODU console logs + - Download TextAnalysisTool.NET.exe + - Open the log in the tool: + - File -> Open + - Filter ALLOC and FREE logs: + - Filters -> Add New Filters + - Add ALLOC and FREE filters. + - View -> Show only Filtered Lines + - Copy filtered results to separate Excel sheets. + - Split data into columns in Excel: + - Data -> Text to Columns + - Step 1: Choose Delimited + - Step 2: Select Tabs, Semicolon, and Comma + - Step 3: Click Finish + - Copy columns C and D (Size and Address). + +8. Generate memory logs + - Go to l2/tools/Memory_Leak_Detector + - Delete old files: + - freeoutput.txt + - allocoutput.txt + - Copy data to files: + - Paste columns C and D into:(Refer above 7th point) + - alloc.txt + - free.txt + - Remove double spaces: + - `:%s/ / /g (execute twice)` + - Compile the program + - `gcc -o scan.out scan.c` + - Execute the program: + - `./scan.out` + +9. Analyze outputs logs + - freeoutput.txt should be empty. + - If there is any address present in freeoutput.txt then check the address and resolve the dangling pointer issue. + - allocoutput.txt may show some initial allocations. + - If there is any address present in allocoutput.txt then check the address and free the memory allocation. diff --git a/releases/container-release-o-du-l2 b/releases/container-release-o-du-l2 index 146df7498..594e34852 100644 --- a/releases/container-release-o-du-l2 +++ b/releases/container-release-o-du-l2 @@ -1,11 +1,11 @@ --- distribution_type: container -container_release_tag: 10.0.1 +container_release_tag: 11.0.1 container_pull_registry: nexus.o-ran-sc.org:10004 container_push_registry: nexus.o-ran-sc.org:10002 project: o-du-l2 -ref: 666701aebc17e9f0160ad0f763497503d7c67870 +ref: 022cddba581286d2a334e05086cbb6a534f3efd2 containers: - name: o-du-l2 -version: 10.0.1 +version: 11.0.1 diff --git a/releases/container-release-o-du-l2-cu-stub b/releases/container-release-o-du-l2-cu-stub index ac7e37793..717502f44 100644 --- a/releases/container-release-o-du-l2-cu-stub +++ b/releases/container-release-o-du-l2-cu-stub @@ -1,11 +1,11 @@ --- distribution_type: container -container_release_tag: 10.0.1 +container_release_tag: 11.0.1 container_pull_registry: nexus.o-ran-sc.org:10004 container_push_registry: nexus.o-ran-sc.org:10002 project: o-du-l2 -ref: 666701aebc17e9f0160ad0f763497503d7c67870 +ref: 022cddba581286d2a334e05086cbb6a534f3efd2 containers: - name: o-du-l2-cu-stub -version: 10.0.1 +version: 11.0.1 diff --git a/tools/Fapi_Decoder/decoder.c b/tools/Fapi_Decoder/decoder.c index 428515c34..fd5b104e5 100644 --- a/tools/Fapi_Decoder/decoder.c +++ b/tools/Fapi_Decoder/decoder.c @@ -72,8 +72,6 @@ uint8_t processFapiMsg(uint8_t *buffer, size_t buffer_size) fapi_ul_tti_req_t *ulTtiReq = (fapi_ul_tti_req_t *)buffer; decode_fapi_ul_tti_req(ulTtiReq); } - printf("\nPrinting fapi_config_req_t\n"); - printf("\nPrinting fapi_config_req_t\n"); return 1; }