4426275f20749a17b4529b7ca34ee7c93a02910a
[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-rke?h=dublin
11 - Sample OpenStack RC file: https://git.onap.org/integration/tree/deployment/heat/onap-rke/env/windriver/Integration-SB-00-openrc?h=dublin
12 - Sample environment file: https://git.onap.org/integration/tree/deployment/heat/onap-rke/env/windriver/onap-oom.env?h=dublin
13 - Deployment script: https://git.onap.org/integration/tree/deployment/heat/onap-rke/scripts/deploy.sh?h=dublin
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 Shared NFS server (called Rancher VM for legacy reasons)
28 - 3 orch VMs for Kubernetes HA controller and etcd roles
29 - 12 k8s VMs for Kubernetes HA worker roles
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-rke/
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 # not currently used
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 orch_vm_flavor needs to have 4 GB of RAM.
84
85 By default the template assumes that you have already imported a
86 keypair named "onap_key" into your OpenStack environment.  If the
87 desired keypair has a different name, change the key_name parameter.
88
89 The helm_deploy_delay parameter introduces a delay in-between the
90 deployments of each ONAP helm subchart to help alleviate system load or
91 contention issues caused by trying to spin up too many pods
92 simultaneously.  The value of this parameter is passed to the Linux
93 "sleep" command.  Adjust this parameter based on the performance and
94 load characteristics of your OpenStack environment.
95
96
97 Exploring the Rancher VM
98 ~~~~~~~~~~~~~~~~~~~~~~~~
99
100 The Rancher VM that is spun up by this HEAT template serves the
101 following key roles:
102 - Hosts the /dockerdata-nfs/ NFS export shared by all the k8s VMs for persistent volumes
103 - git clones the oom repo into /root/oom
104 - git clones the integration repo into /root/integration
105 - Creates the helm override file at /root/integration-override.yaml
106 - Deploys ONAP using helm and OOM
107
108
109
110 .. _deploy-updated-manifest:
111
112 Deploying an Updated Docker Manifest
113 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
114
115 Some late changes in the ONAP docker images did not make it in time
116 for the Dublin release.  Depending on the Use Case you are trying
117 deploy, you may need to update the docker image manifest with certain
118 newer docker image versions than what was shipped with ONAP Dublin
119 release.
120
121 The ONAP integration repo contains a script that will apply the docker
122 versions specified in a given manifest into the OOM helm chart
123 definitions.
124
125 To apply an updated manifest (on the Rancher VM):
126
127 ::
128
129    cd /root/integration/version-manifest/src/main/resources
130    cp docker-manifest.csv docker-manifest-custom.csv
131
132    # customize docker-manifest-custom.csv per your requirements
133
134    ../scripts/update-oom-image-versions.sh ./docker-manifest-custom.csv /root/oom/
135
136    cd /root/oom/kubernetes/
137    git diff # verify that the desired docker image changes are applied successfully
138    make all # recompile the helm charts
139
140 After that you can update or redeploy ONAP OOM as described here:
141
142 .. toctree::
143    :maxdepth: 1
144    :titlesonly:
145
146    ../../../../submodules/oom.git/docs/oom_quickstart_guide.rst