Adding seed document in OOM
[oom.git] / docs / OOM Project Description / oom_project_description.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2
3 ONAP Operations Manager Project
4 ###############################
5
6 Introduction
7 ============
8
9 The ONAP Operations Manager (OOM) is responsible for life-cycle
10 management of the ONAP platform itself; components such as MSO, SDNC,
11 etc. It is not responsible for the management of services, VNFs or
12 infrastructure instantiated by ONAP or used by ONAP to host such
13 services or VNFs. OOM uses the open-source Kubernetes container
14 management system as a means to manage the Docker containers that
15 compose ONAP where the containers are hosted either directly on
16 bare-metal servers or on VMs hosted by a 3rd party management system.
17 OOM ensures that ONAP is easily deployable and maintainable throughout
18 its life cycle while using hardware resources efficiently. 
19
20 Quick Start Guide
21 =================
22
23 Once a kubernetes environment is available (check out `ONAP on Kubernetes <file:///C:\display\DW\ONAP+on+Kubernetes>`__ if you're
24 getting started) and the deployment artifacts have been customized for your location, ONAP is ready to be installed. 
25
26 The first step is to setup
27 the \ `/oom/kubernetes/config/onap-parameters.yaml <https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/onap-parameters.yaml;h=7ddaf4d4c3dccf2fad515265f0da9c31ec0e64b1;hb=refs/heads/master>`__
28 file with key-value pairs specific to your OpenStack environment.  There is a
29 `sample <https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/onap-parameters-sample.yaml;h=3a74beddbbf7f9f9ec8e5a6abaecb7cb238bd519;hb=refs/heads/master>`__
30 that may help you out or even be usable directly if you don't intend to actually use OpenStack resources.
31
32 In-order to be able to support multiple ONAP instances within a single kubernetes environment a configuration set is required.
33  The `createConfig.sh <https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/createConfig.sh;h=f226ccae47ca6de15c1da49be4b8b6de974895ed;hb=refs/heads/master>`__ script
34 is used to do this.::
35
36   > ./createConfig.sh -n onapTrial
37
38 The bash script 
39 \ `createAll.bash <https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/oneclick/createAll.bash;h=5e5f2dc76ea7739452e757282e750638b4e3e1de;hb=refs/heads/master>`__ is
40 used to create an ONAP deployment with kubernetes. It has two primary
41 functions:
42
43 -  Creating the namespaces used to encapsulate the ONAP components, and
44
45 -  Creating the services, pods and containers within each of these
46    namespaces that provide the core functionality of ONAP.
47
48 To deploy the containers and create your ONAP system enter::
49
50   > ./createAll.bash -n onapTrial
51
52 Namespaces provide isolation between ONAP components as ONAP release 1.0
53 contains duplicate application (e.g. mariadb) and port usage. As
54 such createAll.bash requires the user to enter a namespace prefix string
55 that can be used to separate multiple deployments of onap. The result
56 will be set of 10 namespaces (e.g. onapTrial-sdc, onapTrial-aai,
57 onapTrial-mso, onapTrial-message-router, onapTrial-robot, onapTrial-vid,
58 onapTrial-sdnc, onapTrial-portal, onapTrial-policy, onapTrial-appc)
59 being created within the kubernetes environment.  A prerequisite pod
60 config-init (\ `pod-config-init.yaml <https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/pod-config-init.yaml;h=b1285ce21d61815c082f6d6aa3c43d00561811c7;hb=refs/heads/master>`__)
61 may need editing to match your environment and deployment into the
62 default namespace before running createAll.bash.
63
64 Demo Video
65 ----------
66
67 If you'd like to see the installation of ONAP by OOM take a look at this
68 short video demonstration by Mike Elliott: 
69
70 .. raw:: html
71
72    <video controls src="/OOM_Demo.mp4"></video>
73
74
75 OOM Architecture and Technical Details
76 ======================================
77
78 OOM uses the \ `Kubernetes  <http://kubernetes.io/>`__\ container
79 management system to orchestrate the life cycle of the ONAP
80 infrastructure components.  If you'd like to learn more about how this
81 works or develop the deployment specifications for a project not already
82 managed by OOM look here: \ `OOM User
83 Guide <file:///C:\display\DW\OOM+User+Guide>`__.
84
85
86 Links to Further Information
87 ============================
88
89 -  Configuration data for all of the ONAP sub-projects is distributed by
90    OOM.  For more information on how this is done see: \ `OOM
91    Configuration Management <file:///C:\display\DW\OOM+Configuration+Management>`__.