blob: 20eb8fab79fb78e6427686a08232fc55acbaf9f5 [file] [log] [blame]
.. This work is licensed under a
.. Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright 2019 Amdocs, Bell Canada
.. _quick-start-label:
OOM Quick Start Guide
#####################
.. figure:: oomLogoV2-medium.png
:align: right
Once a kubernetes environment is available (follow the instructions in
:ref:`cloud-setup-guide-label` if you don't have a cloud environment
available), follow the following instructions to deploy ONAP.
**Step 1.** Clone the OOM repository from ONAP gerrit::
> git clone -b 4.0.0-ONAP http://gerrit.onap.org/r/oom --recurse-submodules
> cd oom/kubernetes
**Step 2.** Install Helm Plugins required to deploy ONAP::
> sudo cp -R ~/oom/kubernetes/helm/plugins/ ~/.helm
**Step 3.** Customize the helm charts like onap.values.yaml or an override.yaml
like integration-override.yaml file to suit your deployment with items like the
OpenStack tenant information.
a. You may want to selectively enable or disable ONAP components by changing
the `enabled: true/false` flags.
b. Encyrpt the OpenStack password using the shell tool for robot and put it in
the robot helm charts or robot section of integration-override.yaml
c. Encrypt the OpenStack password using the java based script for SO helm charts
or SO section of integration-override.yaml.
d. Update the OpenStack parameters that will be used by robot, SO and APPC helm
charts or use an override file to replace them.
a. Enabling/Disabling Components:
Here is an example of the nominal entries that need to be provided.
We have different values file available for different contexts.
.. literalinclude:: onap-values.yaml
:language: yaml
b. Generating ROBOT Encrypted Password:
The ROBOT encrypted Password uses the same encryption.key as SO but an
openssl algorithm that works with the python based Robot Framework.
.. note::
To generate ROBOT openStackEncryptedPasswordHere :
``root@olc-rancher:~# cd so/resources/config/mso/``
``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``
c. Generating SO Encrypted Password:
The SO Encrypted Password uses a java based encryption utility since the
Java encryption library is not easy to integrate with openssl/python that
ROBOT uses in Dublin.
.. note::
To generate SO openStackEncryptedPasswordHere :
SO_ENCRYPTION_KEY=`cat ~/oom/kubenertes/so/resources/config/mso/encrypt.key`
OS_PASSWORD=XXXX_OS_CLEARTESTPASSWORD_XXXX
git clone http://gerrit.onap.org/r/integration
cd integration/deployment/heat/onap-oom/scripts
javac Crypto.java
java Crypto "$OS_PASSWORD" "$SO_ENCRYPTION_KEY"
d. Update the OpenStack parameters:
.. literalinclude:: example-integration-override.yaml
:language: yaml
**Step 4.** To setup a local Helm server to server up the ONAP charts::
> helm serve &
Note the port number that is listed and use it in the Helm repo add as
follows::
> helm repo add local http://127.0.0.1:8879
**Step 5.** Verify your Helm repository setup with::
> helm repo list
NAME URL
local http://127.0.0.1:8879
**Step 6.** Build a local Helm repository (from the kubernetes directory)::
> make all; make onap
**Step 7.** Display the onap charts that available to be deployed::
> helm search onap -l
.. literalinclude:: helm-search.txt
.. note::
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.
**Step 8.** Once the repo is setup, installation of ONAP can be done with a
single command
a. If you updated the values directly use this command::
> helm deploy dev local/onap --namespace onap
b. If you are using an integration-override.yaml file use this command::
> helm deploy dev local/onap -f /root/integration-override.yaml --namespace onap
c. If you have a slower cloud environment you may want to use the public-cloud.yaml
which has longer delay intervals on database updates.::
> helm deploy dev local/onap -f /root/oom/kubernetes/onap/resources/environments/public-cloud.yaml -f /root/integration-override.yaml --namespace onap
**Step 9.** Commands to interact with the OOM installation
Use the following to monitor your deployment and determine when ONAP is
ready for use::
> kubectl get pods --all-namespaces -o=wide
Undeploying onap can be done using the following command::
> helm undeploy dev --purge
More examples of using the deploy and undeploy plugins can be found here: https://wiki.onap.org/display/DW/OOM+Helm+%28un%29Deploy+plugins