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