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