1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3 .. ===============LICENSE_START=======================================================
4 .. Copyright (C) 2019 AT&T Intellectual Property
5 .. ===================================================================================
6 .. This documentation file is distributed under the Creative Commons Attribution
7 .. 4.0 International License (the "License"); you may not use this file except in
8 .. compliance with the License. You may obtain a copy of the License at
10 .. http://creativecommons.org/licenses/by/4.0
12 .. This file is distributed on an "AS IS" BASIS,
13 .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 .. See the License for the specific language governing permissions and
15 .. limitations under the License.
16 .. ===============LICENSE_END=========================================================
28 The Amber release of the it/dep repo provides deployment artifacts for the O-RAN SC
29 Near Realtime RIC. The components in the deployment are spread onto two Kubernetes
30 clusters, one for running the Near Realtime RIC, the other for running auxilary
31 functions such as the dashboards. These two clusters are referred to as the RIC and
32 AUX clusters respectively.
34 This document describe the deployment artifacts, how theye are organized, and how to
35 contribute for modifications, additions, and other enhancements to these artifacts.
37 Deployment Organization
38 ------------------------
39 To organize the deployments of the compoents, the various O-RAN SC Near Realtime RIC
40 and auxilary components are organized into three groups: infrastructure, platform,
41 and auxilary, or ric-infra, ric-platform, and ric-aux respectively.
43 The **ric-infra** group is expected to be deployed in each Kubernetes cluster. It
44 consists of components such as Kong ingress controller, Helm chart repo, Tiller for
45 xApp deployment, as well as various credentials. This group is deployed in both the
48 The **ric-platform** group is deployed in the RIC cluster. It consists of all Near
49 Realtime RIC Platform components, including:
56 - Subscription Manager
60 - Resource Status Manager
62 The **ric-aux** group is deployed in the AUX cluster. It consists of components that
63 facilitate the operation of Near Realtime RIC and receiving inputs from the Near Realtime
64 RIC. In Amber release, this group includes the following:
67 - ONAP DMaaP Message Router
70 In addition, this group also include ONAP AAF and ONAP Portal.
77 The directories of the it/dep repo is organized as the following.
89 | |-- 80-Auxiliary-Functions
94 | |-- Docker-Credential
106 | |-- 50-RIC-Platform
107 | |-- 55-Ext-Services
111 The deployment artifacts of these deployment groups are placed under the ric-infra,
112 ric-platform, and ric-aux directories. These directories are structured similarly
113 where underneath each group is a list of numbered sub-groups. The numbering is
114 based on the order that how different sub-groups would be deployed within the same
115 Kubernetes cluster. For example, the 50-RIC-Platform subgroup should be deployed
116 before the 55-Ext-Services subgroup. And all subgroups in the ric-infra group
117 should be deployed before the sub-groups in the ric-platform group, as indicated
118 by they sub-group numbers being lower than those of the ric-platform group.
120 Within each numbered subgroup, there is a **helm** directory and a **bin** directory.
121 The bin directory generally contains the install and uninstall script for deploying
122 all the Helm charts of the subgroup. The helm directory contains the helm charts
123 for all the components within the subgroup.
125 At the top level, these is also a bin directory, where group level deployment and
126 undeployment scripts are located. For example, the **deploy-ric-platform** script
127 iterates all the subgroups under the ric-platform group, and calls the install script
128 of each subgroup to deploy the components in each subgroup.
132 **Recipe** is an important concept for Near Realtime RIC deployment. Each
133 deployment group has its own recipe. Recipe provides a customized specification
134 for the components of a deployment group for a specific dpeloyment site. The
135 RECIPE_EXAMPLE directory contains the example recipes for the three deployment
147 Indiviudal Deployment Tasks
148 ---------------------------
151 Deploying a 1-node Kubernetes Cluster
152 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
154 Deploying Near Realtime RIC
155 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
157 Deploying Near Realtime RIC xApp
158 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
164 Contribution to then it/dep repository is open to all community members by following
165 the standard Git/Gerrit contribution and Gerrit review flows.
167 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.