Merge "[DCAEGEN2] Remove restartPolicy field"
[oom.git] / docs / oom_project_description.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 2018-2020 Amdocs, Bell Canada, Orange, Samsung
5 .. _oom_project_description:
6
7 ONAP Operations Manager Project
8 ###############################
9
10 The ONAP Operations Manager (OOM) is responsible for life-cycle management of
11 the ONAP platform itself; components such as SO, SDNC, etc. It is not
12 responsible for the management of services, VNFs or infrastructure instantiated
13 by ONAP or used by ONAP to host such services or VNFs. OOM uses the open-source
14 Kubernetes container management system as a means to manage the Docker
15 containers that compose ONAP where the containers are hosted either directly on
16 bare-metal servers or on VMs hosted by a 3rd party management system. OOM
17 ensures that ONAP is easily deployable and maintainable throughout its life
18 cycle while using hardware resources efficiently.
19
20 .. figure:: oomLogoV2-medium.png
21    :align: right
22
23 In summary OOM provides the following capabilities:
24
25 - **Deploy** - with built-in component dependency management
26 - **Configure** - unified configuration across all ONAP components
27 - **Monitor** - real-time health monitoring feeding to a Consul UI and
28   Kubernetes
29 - **Heal**- failed ONAP containers are recreated automatically
30 - **Scale** - cluster ONAP services to enable seamless scaling
31 - **Upgrade** - change-out containers or configuration with little or no
32   service impact
33 - **Delete** - cleanup individual containers or entire deployments
34
35 OOM supports a wide variety of Kubernetes private clouds - built with Rancher,
36 Kubeadm or Cloudify - and public cloud infrastructures such as: Microsoft
37 Azure, Amazon AWS, Google GCD, VMware VIO, and OpenStack.
38
39 The OOM documentation is broken into four different areas each targeted at a
40 different user:
41
42 - :ref:`quick-start-label` - deploy ONAP on an existing cloud
43 - :ref:`user-guide-label` - a guide for operators of an ONAP instance
44 - :ref:`developer-guide-label` - a guide for developers of OOM and ONAP
45 - :ref:`cloud-setup-guide-label` - a guide for those setting up cloud
46   environments that ONAP will use
47 - :ref:`hardcoded-certificates-label` - the list of all hardcoded certificates
48   set in ONAP installation
49
50 The :ref:`release_notes` for OOM describe the incremental features per release.
51
52 Component Orchestration Overview
53 ================================
54 Multiple technologies, templates, and extensible plug-in frameworks are used in
55 ONAP to orchestrate platform instances of software component artifacts. A few
56 standard configurations are provide that may be suitable for test, development,
57 and some production deployments by substitution of local or platform wide
58 parameters. Larger and more automated deployments may require integration the
59 component technologies, templates, and frameworks with a higher level of
60 automated orchestration and control software. Design guidelines are provided to
61 insure the component level templates and frameworks can be easily integrated
62 and maintained. The following diagram provides an overview of these with links
63 to examples and templates for describing new ones.
64
65 .. graphviz::
66
67    digraph COO {
68       rankdir="LR";
69
70       {
71          node      [shape=folder]
72          oValues   [label="values"]
73          cValues   [label="values"]
74          comValues [label="values"]
75          sValues   [label="values"]
76          oCharts   [label="charts"]
77          cCharts   [label="charts"]
78          comCharts [label="charts"]
79          sCharts   [label="charts"]
80          blueprint [label="TOSCA blueprint"]
81       }
82       {oom [label="ONAP Operations Manager"]}
83       {hlo [label="High Level Orchestrator"]}
84
85
86       hlo -> blueprint
87       hlo -> oom
88       oom -> oValues
89       oom -> oCharts
90       oom -> component
91       oom -> common
92       common -> comValues
93       common -> comCharts
94       component -> cValues
95       component -> cCharts
96       component -> subcomponent
97       subcomponent -> sValues
98       subcomponent -> sCharts
99       blueprint -> component
100    }