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