Fix doc formatting
[integration.git] / docs / onap-oom-heat.rst
1 .. _onap-oom-heat:
2
3 ONAP OOM HEAT Template
4 ----------------------
5
6
7 Source files
8 ~~~~~~~~~~~~
9
10 - HEAT template files: https://git.onap.org/integration/tree/deployment/heat/onap-oom?h=casablanca
11 - Sample OpenStack RC file: https://git.onap.org/integration/tree/deployment/heat/onap-oom/env/windriver/Integration-SB-00-openrc?h=casablanca
12 - Sample environment file: https://git.onap.org/integration/tree/deployment/heat/onap-oom/env/windriver/onap-oom.env?h=casablanca
13 - Deployment script: https://git.onap.org/integration/tree/deployment/heat/onap-oom/scripts/deploy.sh?h=casablanca
14
15
16 Description
17 ~~~~~~~~~~~
18
19 The ONAP Integration Project provides a sample HEAT template that
20 fully automates the deployment of ONAP using OOM as described in
21 :ref:`ONAP Operations Manager (OOM) over Kubernetes<installing-onap>`.
22
23 The ONAP OOM HEAT template deploys the entire ONAP platform.  It spins
24 up an HA-enabled Kubernetes cluster, and deploys ONAP using OOM onto
25 this cluster.
26
27 - 1 Rancher VM that also serves as a shared NFS server
28 - 3 etcd VMs for the Kubernetes HA etcd plane
29 - 2 orch VMs for the Kubernetes HA orchestration plane
30 - 12 k8s VMs for the Kubernetes HA compute hosts
31
32
33 Quick Start
34 ~~~~~~~~~~~
35
36 Using the Wind River lab configuration as an example, here is what
37 you need to do to deploy ONAP:
38
39 ::
40
41    git clone https://git.onap.org/integration
42    cd integration/deployment/heat/onap-oom/
43    source ./env/windriver/Integration-SB-00-openrc
44    ./scripts/deploy.sh ./env/windriver/onap-oom.env
45
46
47 Environment and RC files
48 ~~~~~~~~~~~~~~~~~~~~~~~~
49
50 Before deploying ONAP to your own environment, it is necessary to
51 customize the environment and RC files.  You should make a copy of the
52 sample RC and environment files shown above and customize the values
53 for your specific OpenStack environments.
54
55 The environment file contains a block called
56 integration_override_yaml.  The content of this block will be created
57 as the file integration_override.yaml in the deployed Rancher VM, and
58 used as the helm override files during the OOM deployment.  Be sure to
59 customize the necessary values within this block to match your
60 OpenStack environment as well.
61
62 **Notes on select parameters**
63
64 ::
65
66    apt_proxy: 10.12.5.2:8000
67    docker_proxy: 10.12.5.2:5000
68
69    rancher_vm_flavor: m1.large
70    k8s_vm_flavor: m1.xlarge
71    etcd_vm_flavor: m1.medium
72    orch_vm_flavor: m1.medium
73
74    key_name: onap_key
75
76    helm_deploy_delay: 2.5m
77
78 It is recommended that you set up an apt proxy and a docker proxy
79 local to your lab.  If you do not wish to use such proxies, you can
80 set the apt_proxy and docker_proxy parameters to the empty string "".
81
82 rancher_vm_flavor needs to have 8 GB of RAM.
83 k8s_vm_flavor needs to have 16 GB of RAM.
84 etcd_vm_flavor needs to have 4 GB of RAM.
85 orch_vm_flavor needs to have 4 GB of RAM.
86
87 By default the template assumes that you have already imported a
88 keypair named "onap_key" into your OpenStack environment.  If the
89 desired keypair has a different name, change the key_name parameter.
90
91 The helm_deploy_delay parameter introduces a delay in-between the
92 deployments of each ONAP helm subchart to help alleviate system load or
93 contention issues caused by trying to spin up too many pods
94 simultaneously.  The value of this parameter is passed to the Linux
95 "sleep" command.  Adjust this parameter based on the performance and
96 load characteristics of your OpenStack environment.
97
98
99 Exploring the Rancher VM
100 ~~~~~~~~~~~~~~~~~~~~~~~~
101
102 The Rancher VM that is spun up by this HEAT template serves the
103 following key roles:
104 - Installaion of the Rancher server
105 - Hosts the /dockerdata-nfs/ NFS export shared by all the k8s VMs for persistent volumes
106 - git clones the oom repo into /root/oom
107 - git clones the integration repo into /root/integration
108 - Creates the helm override file at /root/integration-override.yaml
109 - Deploys ONAP using helm and OOM
110
111
112
113 .. _deploy-updated-manifest:
114
115 Deploying an Updated Docker Manifest
116 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
117
118 Some late changes in the ONAP docker images did not make it in time
119 for the Casablanca release.  Depending on the Use Case you are trying
120 deploy, you may need to update the docker image manifest with certain
121 newer docker image versions than what was shipped with ONAP Casablanca
122 release.
123
124 The ONAP integration repo contains a script that will apply the docker
125 versions specified in a given manifest into the OOM helm chart
126 definitions.
127
128 To apply an updated manifest (on the Rancher VM):
129
130 ::
131
132    cd /root/integration/version-manifest/src/main/resources
133    cp docker-manifest.csv docker-manifest-custom.csv
134
135    # customize docker-manifest-custom.csv per your requirements
136
137    ../scripts/update-oom-image-versions.sh ./docker-manifest-custom.csv /root/oom/
138
139    cd /root/oom/kubernetes/
140    git diff # verify that the desired docker image changes are applied successfully
141    make all # recompile the helm charts
142
143 After that you can update or redeploy ONAP OOM as described here:
144
145 .. toctree::
146    :maxdepth: 1
147    :titlesonly:
148
149    ../../../../submodules/oom.git/docs/oom_quickstart_guide.rst