X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docs%2Fdeveloper-guides.rst;h=76b87f6852a369e08f2fbbc9566e01014ea972fd;hb=HEAD;hp=e3d579d95e149f9cfbbdd6936d61c92e53fa07c9;hpb=c3b6c2008abef7f8ee148892a5e03c345f0a217d;p=it%2Fdep.git diff --git a/docs/developer-guides.rst b/docs/developer-guides.rst index e3d579d9..76b87f68 100644 --- a/docs/developer-guides.rst +++ b/docs/developer-guides.rst @@ -22,26 +22,152 @@ Developer-Guides ================ +Overview +------------------ -.. note: -.. * This section is used to describe what a contributor needs to know in order to work on the componenta +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 should be very technical, aimed at people who want to help develop the components +This document describe the deployment artifacts, how theye are organized, and how to +contribute for modifications, additions, and other enhancements to these artifacts. -.. * this should be how the component does what it does, not a requirements document of what the component should do +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. -.. * this should contain what language(s) and frameworks are used, with versions +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 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. * this should contain how to obtain the code, where to look at work items (Jira tickets), how to get started developing - -.. * This note must be removed after content has been added. 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 ------- +