Merge "[AAI] Add model-loader tracing config"
[oom.git] / docs / sections / guides / development_guides / oom_development.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0
2 .. International License.
3 .. http://creativecommons.org/licenses/by/4.0
4 .. Copyright (C) 2022 Nordix Foundation
5
6 .. Links
7 .. _Helm: https://docs.helm.sh/
8 .. _Helm Charts: https://github.com/kubernetes/charts
9 .. _Kubernetes: https://Kubernetes.io/
10 .. _Docker: https://www.docker.com/
11 .. _Nexus: https://nexus.onap.org/
12
13 .. _oom_dev_guide:
14
15 OOM Developer Guide
16 ###################
17
18 .. figure:: ../../resources/images/oom_logo/oomLogoV2-medium.png
19    :align: right
20
21 ONAP consists of a large number of components, each of which are substantial
22 projects within themselves, which results in a high degree of complexity in
23 deployment and management. To cope with this complexity the ONAP Operations
24 Manager (OOM) uses a Helm_ model of ONAP - Helm being the primary management
25 system for Kubernetes_ container systems - to drive all user driven life-cycle
26 management operations. The Helm model of ONAP is composed of a set of
27 hierarchical Helm charts that define the structure of the ONAP components and
28 the configuration of these components.  These charts are fully parameterized
29 such that a single environment file defines all of the parameters needed to
30 deploy ONAP.  A user of ONAP may maintain several such environment files to
31 control the deployment of ONAP in multiple environments such as development,
32 pre-production, and production.
33
34
35
36 .. rubric:: Container Background
37
38 Linux containers allow for an application and all of its operating system
39 dependencies to be packaged and deployed as a single unit without including a
40 guest operating system as done with virtual machines. The most popular
41 container solution is Docker_ which provides tools for container management
42 like the Docker Host (dockerd) which can create, run, stop, move, or delete a
43 container. Docker has a very popular registry of containers images that can be
44 used by any Docker system; however, in the ONAP context, Docker images are
45 built by the standard CI/CD flow and stored in Nexus_ repositories. OOM uses
46 the "standard" ONAP docker containers and three new ones specifically created
47 for OOM.
48
49 Containers are isolated from each other primarily via name spaces within the
50 Linux kernel without the need for multiple guest operating systems. As such,
51 multiple containers can be deployed with little overhead such as all of ONAP
52 can be deployed on a single host. With some optimization of the ONAP components
53 (e.g. elimination of redundant database instances) it may be possible to deploy
54 ONAP on a single laptop computer.
55
56 The following sections describe how the ONAP Helm charts are constructed.
57
58 .. toctree::
59   :maxdepth: 1
60
61   oom_dev_helm_chart_info.rst
62   oom_dev_config_management.rst
63   oom_dev_container_orchestration.rst
64