blob: 169e2114507d4ccca4d99897a2382bdce2321a8d [file] [log] [blame]
efiacor0fb3b8f2022-10-28 15:29:26 +01001.. 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
15OOM Developer Guide
16###################
17
18.. figure:: ../../resources/images/oom_logo/oomLogoV2-medium.png
19 :align: right
20
21ONAP consists of a large number of components, each of which are substantial
22projects within themselves, which results in a high degree of complexity in
23deployment and management. To cope with this complexity the ONAP Operations
24Manager (OOM) uses a Helm_ model of ONAP - Helm being the primary management
25system for Kubernetes_ container systems - to drive all user driven life-cycle
26management operations. The Helm model of ONAP is composed of a set of
27hierarchical Helm charts that define the structure of the ONAP components and
28the configuration of these components. These charts are fully parameterized
29such that a single environment file defines all of the parameters needed to
30deploy ONAP. A user of ONAP may maintain several such environment files to
31control the deployment of ONAP in multiple environments such as development,
32pre-production, and production.
33
34
35
36.. rubric:: Container Background
37
38Linux containers allow for an application and all of its operating system
39dependencies to be packaged and deployed as a single unit without including a
40guest operating system as done with virtual machines. The most popular
41container solution is Docker_ which provides tools for container management
42like the Docker Host (dockerd) which can create, run, stop, move, or delete a
43container. Docker has a very popular registry of containers images that can be
44used by any Docker system; however, in the ONAP context, Docker images are
45built by the standard CI/CD flow and stored in Nexus_ repositories. OOM uses
46the "standard" ONAP docker containers and three new ones specifically created
47for OOM.
48
49Containers are isolated from each other primarily via name spaces within the
50Linux kernel without the need for multiple guest operating systems. As such,
51multiple containers can be deployed with little overhead such as all of ONAP
52can 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
54ONAP on a single laptop computer.
55
56The 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