Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 1 | .. _onap-oom-heat: |
| 2 | |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 3 | ONAP OOM HEAT Template |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 4 | ---------------------- |
| 5 | |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 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 | |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 15 | |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 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 |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 21 | :ref:`ONAP Operations Manager (OOM) over Kubernetes<installing-onap>`. |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 22 | |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 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. |
Gary Wu | 0a93dc1 | 2018-11-29 12:17:11 -0800 | [diff] [blame] | 26 | |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 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 |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 34 | ~~~~~~~~~~~ |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 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 | |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 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 |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 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 | :: |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 65 | |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 66 | apt_proxy: 10.12.5.2:8000 |
| 67 | docker_proxy: 10.12.5.2:5000 |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 68 | |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 69 | rancher_vm_flavor: m1.large |
| 70 | k8s_vm_flavor: m1.xlarge |
| 71 | etcd_vm_flavor: m1.medium |
| 72 | orch_vm_flavor: m1.medium |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 73 | |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 74 | key_name: onap_key |
| 75 | |
| 76 | helm_deploy_delay: 2.5m |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 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 |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 92 | deployments of each ONAP helm subchart to help alleviate system load or |
Gary Wu | e6b9ef4 | 2018-11-28 11:17:10 -0800 | [diff] [blame] | 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 | |
Gary Wu | 3545556 | 2018-11-28 13:00:26 -0800 | [diff] [blame] | 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 |