Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 1 | .. This work is licensed under a |
| 2 | .. Creative Commons Attribution 4.0 International License. |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 3 | .. http://creativecommons.org/licenses/by/4.0 |
| 4 | .. Copyright 2018 Amdocs, Bell Canada |
| 5 | |
| 6 | .. _quick-start-label: |
| 7 | |
| 8 | OOM Quick Start Guide |
| 9 | ##################### |
| 10 | |
| 11 | .. figure:: oomLogoV2-medium.png |
| 12 | :align: right |
| 13 | |
| 14 | Once a kubernetes environment is available (follow the instructions in |
| 15 | :ref:`cloud-setup-guide-label` if you don't have a cloud environment |
| 16 | available), follow the following instructions to deploy ONAP. |
| 17 | |
| 18 | **Step 1.** Clone the OOM repository from ONAP gerrit:: |
| 19 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 20 | > git clone -b 4.0.0-ONAP http://gerrit.onap.org/r/oom |
Roger Maitland | d1237f3 | 2018-03-26 13:14:04 -0400 | [diff] [blame] | 21 | > cd oom/kubernetes |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 22 | |
Mike Elliott | ed5ff71 | 2018-11-07 15:47:19 -0500 | [diff] [blame] | 23 | **Step 2.** Install Helm Plugins required to deploy the ONAP Casablanca release:: |
Pawel Wieczorek | aa859cd | 2019-01-23 17:32:18 +0100 | [diff] [blame] | 24 | |
| 25 | > sudo cp -R ~/oom/kubernetes/helm/plugins/ ~/.helm |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 26 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 27 | |
| 28 | **Step 3.** Customize the helm charts like onap.values.yaml or an override.yaml |
| 29 | like integration-override.yaml file to suit your deployment with items like the |
| 30 | OpenStack tenant information. |
| 31 | |
| 32 | |
| 33 | a. You may want to selectively enable or disable ONAP components by changing |
| 34 | the `enabled: true/false` flags. |
| 35 | |
| 36 | |
| 37 | b. Encyrpt the OpenStack password using the shell tool for robot and put it in |
| 38 | the robot helm charts or robot section of integration-override.yaml |
| 39 | |
| 40 | |
| 41 | c. Encrypt the OpenStack password using the java based script for SO helm charts |
| 42 | or SO section of integration-override.yaml. |
| 43 | |
| 44 | |
| 45 | d. Update the OpenStack parameters that will be used by robot, SO and APPC helm |
| 46 | charts or use an override file to replace them. |
| 47 | |
| 48 | |
| 49 | |
| 50 | |
| 51 | a. Enabling/Disabling Components: |
| 52 | Here is an example of the nominal entries that need to be provided. We have different |
| 53 | values file available for different contexts. |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 54 | |
Mike Elliott | ed5ff71 | 2018-11-07 15:47:19 -0500 | [diff] [blame] | 55 | .. literalinclude:: onap-values.yaml |
| 56 | :language: yaml |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 57 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 58 | |
| 59 | b. Generating ROBOT Encrypted Password: |
| 60 | The ROBOT encrypted Password uses the same encryption.key as SO but an |
| 61 | openssl algorithm that works with the python based Robot Framework. |
| 62 | |
Abdelmuhaimen Seaudi | d7133a1 | 2018-07-18 10:59:20 +0000 | [diff] [blame] | 63 | .. note:: |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 64 | To generate ROBOT openStackEncryptedPasswordHere : |
Abdelmuhaimen Seaudi | d7133a1 | 2018-07-18 10:59:20 +0000 | [diff] [blame] | 65 | |
Abdelmuhaimen Seaudi | 5bf6678 | 2018-07-26 13:38:17 +0000 | [diff] [blame] | 66 | ``root@olc-rancher:~# cd so/resources/config/mso/`` |
Abdelmuhaimen Seaudi | d7133a1 | 2018-07-18 10:59:20 +0000 | [diff] [blame] | 67 | |
Abdelmuhaimen Seaudi | 5bf6678 | 2018-07-26 13:38:17 +0000 | [diff] [blame] | 68 | ``root@olc-rancher:~/oom/kubernetes/so/resources/config/mso# echo -n "<openstack tenant password>" | openssl aes-128-ecb -e -K `cat encryption.key` -nosalt | xxd -c 256 -p`` |
Abdelmuhaimen Seaudi | d7133a1 | 2018-07-18 10:59:20 +0000 | [diff] [blame] | 69 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 70 | c. Generating SO Encrypted Password: |
| 71 | The SO Encrypted Password uses a java based encryption utility since the |
| 72 | Java encryption library is not easy to integrate with openssl/python that |
| 73 | ROBOT uses in Dublin. |
| 74 | |
| 75 | .. note:: |
| 76 | To generate SO openStackEncryptedPasswordHere : |
| 77 | |
| 78 | SO_ENCRYPTION_KEY=`cat ~/oom/kubenertes/so/resources/config/mso/encrypt.key` |
| 79 | OS_PASSWORD=XXXX_OS_CLEARTESTPASSWORD_XXXX |
| 80 | |
| 81 | git clone http://gerrit.onap.org/r/integration |
| 82 | cd integration/deployment/heat/onap-oom/scripts |
| 83 | javac Crypto.java |
| 84 | java Crypto "$OS_PASSWORD" "$SO_ENCRYPTION_KEY" |
| 85 | |
| 86 | |
| 87 | d. Update the OpenStack parameters: |
| 88 | |
| 89 | .. literalinclude:: example-integration-override.yaml |
| 90 | :language: yaml |
| 91 | |
| 92 | **Step 4.** To setup a local Helm server to server up the ONAP charts:: |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 93 | |
| 94 | > helm serve & |
| 95 | |
| 96 | Note the port number that is listed and use it in the Helm repo add as |
| 97 | follows:: |
| 98 | |
| 99 | > helm repo add local http://127.0.0.1:8879 |
| 100 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 101 | **Step 5.** Verify your Helm repository setup with:: |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 102 | |
| 103 | > helm repo list |
| 104 | NAME URL |
| 105 | local http://127.0.0.1:8879 |
| 106 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 107 | **Step 6.** Build a local Helm repository (from the kubernetes directory):: |
Roger Maitland | 9e5067c | 2018-03-27 10:57:08 -0400 | [diff] [blame] | 108 | |
Mike Elliott | ed5ff71 | 2018-11-07 15:47:19 -0500 | [diff] [blame] | 109 | > make all; make onap |
Roger Maitland | 9e5067c | 2018-03-27 10:57:08 -0400 | [diff] [blame] | 110 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 111 | **Step 7.** Display the onap charts that available to be deployed:: |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 112 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 113 | > helm search onap -l |
| 114 | |
Mike Elliott | ed5ff71 | 2018-11-07 15:47:19 -0500 | [diff] [blame] | 115 | .. literalinclude:: helm-search.txt |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 116 | |
| 117 | .. note:: |
Roger Maitland | d1237f3 | 2018-03-26 13:14:04 -0400 | [diff] [blame] | 118 | The setup of the Helm repository is a one time activity. If you make changes to your deployment charts or values be sure to use `make` to update your local Helm repository. |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 119 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 120 | **Step 8.** Once the repo is setup, installation of ONAP can be done with a |
| 121 | single command |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 122 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 123 | a. If you updated the values directly use this command:: |
| 124 | |
| 125 | > helm deploy dev local/onap --namespace onap |
Roger Maitland | d1237f3 | 2018-03-26 13:14:04 -0400 | [diff] [blame] | 126 | |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 127 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 128 | b. If you are using an integration-override.yaml file use this command:: |
| 129 | |
| 130 | > helm deploy dev local/onap -f /root/integration-override.yaml --namespace onap |
| 131 | |
| 132 | |
| 133 | c. If you have a slower cloud environment you may want to use the public-cloud.yaml |
| 134 | which has longer delay intervals on database updates.:: |
| 135 | |
| 136 | > helm deploy dev local/onap -f /root/oom/kubernetes/onap/resources/environments/public-cloud.yaml -f /root/integration-override.yaml --namespace onap |
| 137 | |
| 138 | |
| 139 | **Step 9.** Commands to interact with the OOM installation |
| 140 | |
| 141 | Use the following to monitor your deployment and determine when ONAP is |
| 142 | ready for use:: |
Roger Maitland | 953b5f1 | 2018-03-22 15:24:04 -0400 | [diff] [blame] | 143 | |
| 144 | > kubectl get pods --all-namespaces -o=wide |
Mike Elliott | ed5ff71 | 2018-11-07 15:47:19 -0500 | [diff] [blame] | 145 | |
| 146 | Undeploying onap can be done using the following command:: |
Pawel Wieczorek | aa859cd | 2019-01-23 17:32:18 +0100 | [diff] [blame] | 147 | |
Mike Elliott | ed5ff71 | 2018-11-07 15:47:19 -0500 | [diff] [blame] | 148 | > helm undeploy dev --purge |
| 149 | |
| 150 | |
Brian Freeman | cce79bd | 2019-04-17 10:34:32 -0500 | [diff] [blame] | 151 | More examples of using the deploy and undeploy plugins can be found here: https://wiki.onap.org/display/DW/OOM+Helm+%28un%29Deploy+plugins |