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
-------
+
| **Date** | **Ver.** | **Author** | **Comment** |
| | | | |
+--------------------+--------------------+--------------------+--------------------+
-| 20XX-XX-XX | 0.1.0 | | First draft |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-| | 0.1.1 | | |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-| | 1.0 | | |
+| 2019-11-12 | 0.1.0 | Lusheng Ji | First draft |
| | | | |
+--------------------+--------------------+--------------------+--------------------+
Summary
=======
-<SUMMARIZE THE RELEASE - THE CONTENT - AND OTHER IMPORTANT HIGH LEVEL PROPERTIES>
+The Amber Release of it/dep repositoy hosts deployment and integration artifacts such as scripts, Helm charts, and other files used for deploying O-RAN SC software.
+
+For Amber release this repo contains:
+- Deployment scripts for a dev-test 1-node Kubernetes cluster.
+- Deployment scripts and Helm charts for Near Realtime RAN Intelligent Controller Platform.
+- Deployment scripts and Helm charts for infrastructure services supporting the Near Realtime RAN Intelligent Controller Platform.
+- Deployment scripts and Helm charts for auxiliary services and components for operating the Near Realtime RAN Intelligent Controller Platform.
Release Data
============
-<STATE RELEVANT RELEASE DATA/RECORDS>
-
-<EXAMPLE>:
+--------------------------------------+--------------------------------------+
-| **Project** | E.g. Arno/genesis/fuel@opnfv |
+| **Project** | Integration and Testing |
| | |
+--------------------------------------+--------------------------------------+
-| **Repo/commit-ID** | E.g. genesis/adf634a0d4..... |
+| **Repo/commit-ID** | it/dep |
| | |
+--------------------------------------+--------------------------------------+
-| **Release designation** | E.g. Arno RC2 |
+| **Release designation** | Amber |
| | |
+--------------------------------------+--------------------------------------+
-| **Release date** | E.g. 2015-04-16 |
+| **Release date** | 2019-11-22 |
| | |
+--------------------------------------+--------------------------------------+
-| **Purpose of the delivery** | E.g. OPNFV Internal quality assurance|
+| **Purpose of the delivery** | First release |
| | |
+--------------------------------------+--------------------------------------+
Feature additions
-------------------
-<STATE ADDED FEATURES BY REFERENCE TO JIRA>
-
-<EXAMPLE>:
**JIRA BACK-LOG:**
Deliverables
============
-<Deliverables>
Software deliverables
---------------------
-<STATE WHAT SOFTWARE DELIVERABLES THAT ARE RELATED TO THIS VERSION, AND WHERE THOSE CAN BE RETRIEVED>
+The deployment artifacts can be accessed as Debian software package:
+https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/ric-deployment-tools_2.0.0_all.deb
-<EXAMPLE>:
Documentation deliverables
---------------------------
-<STATE WHAT DOCUMENTATION DELIVERABLES THAT ARE RELATED TO THIS VERSION, AND WHERE THOSE CAN BE RETRIEVED>
-
-<EXAMPLE>:
-
+Documentation for installing, usinhg, and developing for Integraion and Testing project can be found at:
+https://o-ran-sc-doc.readthedocs.io/projects/o-ran-sc-it-dep/en/latest/index.html
Known Limitations, Issues and Workarounds
=========================================
System Limitations
------------------
-<STATE ALL RELEVANT SYSTEM LIMITATIONS, IF THERE IS ANY>
-
Known issues
------------------
-<STATE ALL KNOWN ISSUES WITH JIRA REFERENCE>
-
-<EXAMPLE>:
**JIRA TICKETS:**
Workarounds
------------------
-<STATE ALL KNOWN WORKAROUNDS TO THE ISSUES STATED ABOVE, IF THERE IS ANY>
-
References
==========
-<STATE RELEVANT REFERENCES FOR THIS RELEASE/VERSION>