blob: 0e1d3591f7ff1b10bbd945e857b472e6fcbd78de [file] [log] [blame]
Brian Freemancce79bd2019-04-17 10:34:32 -05001.. This work is licensed under a
2.. Creative Commons Attribution 4.0 International License.
Roger Maitland953b5f12018-03-22 15:24:04 -04003.. http://creativecommons.org/licenses/by/4.0
4.. Copyright 2018 Amdocs, Bell Canada
5
6.. _quick-start-label:
7
8OOM Quick Start Guide
9#####################
10
11.. figure:: oomLogoV2-medium.png
12 :align: right
13
14Once a kubernetes environment is available (follow the instructions in
15:ref:`cloud-setup-guide-label` if you don't have a cloud environment
16available), follow the following instructions to deploy ONAP.
17
18**Step 1.** Clone the OOM repository from ONAP gerrit::
19
Brian Freemancce79bd2019-04-17 10:34:32 -050020 > git clone -b 4.0.0-ONAP http://gerrit.onap.org/r/oom
Roger Maitlandd1237f32018-03-26 13:14:04 -040021 > cd oom/kubernetes
Roger Maitland953b5f12018-03-22 15:24:04 -040022
Mike Elliotted5ff712018-11-07 15:47:19 -050023**Step 2.** Install Helm Plugins required to deploy the ONAP Casablanca release::
Pawel Wieczorekaa859cd2019-01-23 17:32:18 +010024
25 > sudo cp -R ~/oom/kubernetes/helm/plugins/ ~/.helm
Roger Maitland953b5f12018-03-22 15:24:04 -040026
Brian Freemancce79bd2019-04-17 10:34:32 -050027
28**Step 3.** Customize the helm charts like onap.values.yaml or an override.yaml
29like integration-override.yaml file to suit your deployment with items like the
30OpenStack 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
51a. Enabling/Disabling Components:
52Here is an example of the nominal entries that need to be provided. We have different
53values file available for different contexts.
Roger Maitland953b5f12018-03-22 15:24:04 -040054
Mike Elliotted5ff712018-11-07 15:47:19 -050055.. literalinclude:: onap-values.yaml
56 :language: yaml
Roger Maitland953b5f12018-03-22 15:24:04 -040057
Brian Freemancce79bd2019-04-17 10:34:32 -050058
59b. Generating ROBOT Encrypted Password:
60The ROBOT encrypted Password uses the same encryption.key as SO but an
61openssl algorithm that works with the python based Robot Framework.
62
Abdelmuhaimen Seaudid7133a12018-07-18 10:59:20 +000063.. note::
Brian Freemancce79bd2019-04-17 10:34:32 -050064 To generate ROBOT openStackEncryptedPasswordHere :
Abdelmuhaimen Seaudid7133a12018-07-18 10:59:20 +000065
Abdelmuhaimen Seaudi5bf66782018-07-26 13:38:17 +000066 ``root@olc-rancher:~# cd so/resources/config/mso/``
Abdelmuhaimen Seaudid7133a12018-07-18 10:59:20 +000067
Abdelmuhaimen Seaudi5bf66782018-07-26 13:38:17 +000068 ``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 Seaudid7133a12018-07-18 10:59:20 +000069
Brian Freemancce79bd2019-04-17 10:34:32 -050070c. Generating SO Encrypted Password:
71The SO Encrypted Password uses a java based encryption utility since the
72Java encryption library is not easy to integrate with openssl/python that
73ROBOT 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
87d. 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 Maitland953b5f12018-03-22 15:24:04 -040093
94 > helm serve &
95
96Note the port number that is listed and use it in the Helm repo add as
97follows::
98
99 > helm repo add local http://127.0.0.1:8879
100
Brian Freemancce79bd2019-04-17 10:34:32 -0500101**Step 5.** Verify your Helm repository setup with::
Roger Maitland953b5f12018-03-22 15:24:04 -0400102
103 > helm repo list
104 NAME URL
105 local http://127.0.0.1:8879
106
Brian Freemancce79bd2019-04-17 10:34:32 -0500107**Step 6.** Build a local Helm repository (from the kubernetes directory)::
Roger Maitland9e5067c2018-03-27 10:57:08 -0400108
Mike Elliotted5ff712018-11-07 15:47:19 -0500109 > make all; make onap
Roger Maitland9e5067c2018-03-27 10:57:08 -0400110
Brian Freemancce79bd2019-04-17 10:34:32 -0500111**Step 7.** Display the onap charts that available to be deployed::
Roger Maitland953b5f12018-03-22 15:24:04 -0400112
Brian Freemancce79bd2019-04-17 10:34:32 -0500113 > helm search onap -l
114
Mike Elliotted5ff712018-11-07 15:47:19 -0500115.. literalinclude:: helm-search.txt
Roger Maitland953b5f12018-03-22 15:24:04 -0400116
117.. note::
Roger Maitlandd1237f32018-03-26 13:14:04 -0400118 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 Maitland953b5f12018-03-22 15:24:04 -0400119
Brian Freemancce79bd2019-04-17 10:34:32 -0500120**Step 8.** Once the repo is setup, installation of ONAP can be done with a
121single command
Roger Maitland953b5f12018-03-22 15:24:04 -0400122
Brian Freemancce79bd2019-04-17 10:34:32 -0500123 a. If you updated the values directly use this command::
124
125 > helm deploy dev local/onap --namespace onap
Roger Maitlandd1237f32018-03-26 13:14:04 -0400126
Roger Maitland953b5f12018-03-22 15:24:04 -0400127
Brian Freemancce79bd2019-04-17 10:34:32 -0500128 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
141Use the following to monitor your deployment and determine when ONAP is
142ready for use::
Roger Maitland953b5f12018-03-22 15:24:04 -0400143
144 > kubectl get pods --all-namespaces -o=wide
Mike Elliotted5ff712018-11-07 15:47:19 -0500145
146Undeploying onap can be done using the following command::
Pawel Wieczorekaa859cd2019-01-23 17:32:18 +0100147
Mike Elliotted5ff712018-11-07 15:47:19 -0500148 > helm undeploy dev --purge
149
150
Brian Freemancce79bd2019-04-17 10:34:32 -0500151More examples of using the deploy and undeploy plugins can be found here: https://wiki.onap.org/display/DW/OOM+Helm+%28un%29Deploy+plugins