| .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| .. SPDX-License-Identifier: CC-BY-4.0 |
| .. ===============LICENSE_START======================================================= |
| .. Copyright (C) 2019 AT&T Intellectual Property |
| .. =================================================================================== |
| .. This documentation file is distributed under the Creative Commons Attribution |
| .. 4.0 International License (the "License"); you may not use this file except in |
| .. compliance with the License. You may obtain a copy of the License at |
| .. |
| .. http://creativecommons.org/licenses/by/4.0 |
| .. |
| .. This file is distributed on an "AS IS" BASIS, |
| .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| .. See the License for the specific language governing permissions and |
| .. limitations under the License. |
| .. ===============LICENSE_END========================================================= |
| |
| .. contents:: |
| :depth: 3 |
| :local: |
| |
| Developer-Guides |
| ================ |
| |
| Overview |
| ------------------ |
| |
| The Amber release of the it/dep repo provides deployment artifacts for the O-RAN SC |
| Near Realtime RIC. The components in the deployment are spread onto two Kubernetes |
| clusters, one for running the Near Realtime RIC, the other for running auxilary |
| functions such as the dashboards. These two clusters are referred to as the RIC and |
| AUX clusters respectively. |
| |
| This document describe the deployment artifacts, how theye are organized, and how to |
| contribute for modifications, additions, and other enhancements to these artifacts. |
| |
| Deployment Organization |
| ------------------------ |
| To organize the deployments of the compoents, the various O-RAN SC Near Realtime RIC |
| and auxilary components are organized into three groups: infrastructure, platform, |
| and auxilary, or ric-infra, ric-platform, and ric-aux respectively. |
| |
| The **ric-infra** group is expected to be deployed in each Kubernetes cluster. It |
| consists of components such as Kong ingress controller, Helm chart repo, Tiller for |
| xApp deployment, as well as various credentials. This group is deployed in both the |
| RIC and AUX clusters. |
| |
| The **ric-platform** group is deployed in the RIC cluster. It consists of all Near |
| Realtime RIC Platform components, including: |
| |
| - DBaaS |
| - E2 Termination |
| - E2 Manager |
| - A1 Mediator |
| - Routing Manager |
| - Subscription Manager |
| - xApp manager |
| - VESPA Manager |
| - Jaeger Adapter |
| - Resource Status Manager |
| |
| The **ric-aux** group is deployed in the AUX cluster. It consists of components that |
| facilitate the operation of Near Realtime RIC and receiving inputs from the Near Realtime |
| RIC. In Amber release, this group includes the following: |
| |
| - ONAP VES Collector |
| - ONAP DMaaP Message Router |
| - RIC Dashboard |
| |
| In addition, this group also include ONAP AAF and ONAP Portal. |
| |
| |
| |
| Directory Structure |
| ------------------- |
| |
| The directories of the it/dep repo is organized as the following. |
| |
| :: |
| |
| |-- LICENSES.txt |
| |-- README.md |
| |-- RECIPE_EXAMPLE |
| |-- bin |
| |-- ci |
| |-- docs |
| |-- etc |
| |-- ric-aux |
| | |-- 80-Auxiliary-Functions |
| | |-- 85-Ext-Services |
| | `-- README.md |
| |-- ric-common |
| | |-- Common-Template |
| | |-- Docker-Credential |
| | |-- Helm-Credential |
| | `-- Initcontainer |
| |-- ric-infra |
| | |-- 00-Kubernetes |
| | |-- 15-Chartmuseum |
| | |-- 20-Monitoring |
| | |-- 30-Kong |
| | |-- 40-Credential |
| | |-- 45-Tiller |
| | `-- README.md |
| |-- ric-platform |
| | |-- 50-RIC-Platform |
| | |-- 55-Ext-Services |
| | `-- README.md |
| `-- tox.ini |
| |
| The deployment artifacts of these deployment groups are placed under the ric-infra, |
| ric-platform, and ric-aux directories. These directories are structured similarly |
| where underneath each group is a list of numbered sub-groups. The numbering is |
| based on the order that how different sub-groups would be deployed within the same |
| Kubernetes cluster. For example, the 50-RIC-Platform subgroup should be deployed |
| before the 55-Ext-Services subgroup. And all subgroups in the ric-infra group |
| should be deployed before the sub-groups in the ric-platform group, as indicated |
| by they sub-group numbers being lower than those of the ric-platform group. |
| |
| Within each numbered subgroup, there is a **helm** directory and a **bin** directory. |
| The bin directory generally contains the install and uninstall script for deploying |
| all the Helm charts of the subgroup. The helm directory contains the helm charts |
| for all the components within the subgroup. |
| |
| At the top level, these is also a bin directory, where group level deployment and |
| undeployment scripts are located. For example, the **deploy-ric-platform** script |
| iterates all the subgroups under the ric-platform group, and calls the install script |
| of each subgroup to deploy the components in each subgroup. |
| |
| Recipes |
| -------- |
| **Recipe** is an important concept for Near Realtime RIC deployment. Each |
| deployment group has its own recipe. Recipe provides a customized specification |
| for the components of a deployment group for a specific dpeloyment site. The |
| RECIPE_EXAMPLE directory contains the example recipes for the three deployment |
| groups. |
| |
| |
| |
| Helm Chart Structure |
| -------------------- |
| |
| |
| Common Chart |
| ^^^^^^^^^^^^ |
| |
| Indiviudal Deployment Tasks |
| --------------------------- |
| |
| |
| Deploying a 1-node Kubernetes Cluster |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| Deploying Near Realtime RIC |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| Deploying Near Realtime RIC xApp |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| |
| |
| Processes |
| --------- |
| Contribution to then it/dep repository is open to all community members by following |
| the standard Git/Gerrit contribution and Gerrit review flows. |
| |
| Code change submitted to the it/dep repo of the gerrit.o-ran-sc.org is first reviewed by both an automated verification Jenkins job and human reviewers. |
| |
| |
| Actions |
| ------- |
| |
| |