X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docs%2Foom_quickstart_guide.rst;h=0e1d3591f7ff1b10bbd945e857b472e6fcbd78de;hb=270d3260fe4c924816e82eca59c4847a28182f68;hp=655736f0fa96b6e7ef55c47d73cc3f1bf7a9dd36;hpb=114736eb5119b023bc5f166a3b42aaf933b0b223;p=oom.git diff --git a/docs/oom_quickstart_guide.rst b/docs/oom_quickstart_guide.rst index 655736f0fa..0e1d3591f7 100644 --- a/docs/oom_quickstart_guide.rst +++ b/docs/oom_quickstart_guide.rst @@ -1,4 +1,5 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. This work is licensed under a +.. Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. Copyright 2018 Amdocs, Bell Canada @@ -16,123 +17,77 @@ available), follow the following instructions to deploy ONAP. **Step 1.** Clone the OOM repository from ONAP gerrit:: - > git clone http://gerrit.onap.org/r/oom - > cd kubernetes - - -**Step 2.** Customize the onap/values.yaml file to suit your deployment. You -may want to selectively enable or disable ONAP components by changing the -`enabled: true/false` flags as shown below: - -.. code-block:: yaml - - ################################################################# - # Global configuration overrides. - # - # These overrides will affect all helm charts (ie. applications) - # that are listed below and are 'enabled'. - ################################################################# - global: - # Change to an unused port prefix range to prevent port conflicts - # with other instances running within the same k8s cluster - nodePortPrefix: 302 - - # image repositories - repository: nexus3.onap.org:10001 - repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ== - # readiness check - readinessRepository: oomk8s - # logging agent - loggingRepository: docker.elastic.co - - # image pull policy - pullPolicy: Always - - # default mount path root directory referenced - # by persistent volumes and log files - persistence: - mountPath: /dockerdata-nfs - - # flag to enable debugging - application support required - debugEnabled: false - - ################################################################# - # Enable/disable and configure helm charts (ie. applications) - # to customize the ONAP deployment. - ################################################################# - aaf: - enabled: false - aai: - enabled: false - appc: - enabled: false - clamp: - enabled: false - cli: - enabled: false - consul: # Consul Health Check Monitoring - enabled: false - dcaegen2: - enabled: false - esr: - enabled: false - log: - enabled: false - message-router: - enabled: false - mock: - enabled: false - msb: - enabled: false - multicloud: - enabled: false - policy: - enabled: false - portal: - enabled: false - robot: # Robot Health Check - enabled: true - sdc: - enabled: false - sdnc: - enabled: false - so: # Service Orchestrator - enabled: true - - replicaCount: 1 - - liveness: - # necessary to disable liveness probe when setting breakpoints - # in debugger so K8s doesn't restart unresponsive container - enabled: true - - # so server configuration - config: - # message router configuration - dmaapTopic: "AUTO" - # openstack configuration - openStackUserName: "vnf_user" - openStackRegion: "RegionOne" - openStackKeyStoneUrl: "http://1.2.3.4:5000" - openStackServiceTenantName: "service" - openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e" - - # configure embedded mariadb - mariadb: - config: - mariadbRootPassword: password - uui: - enabled: false - vfc: - enabled: false - vid: - enabled: false - vnfsdk: - enabled: false - -**Step 3.** Build a local Helm repository (from the kubernetes directory):: - - > make all + > git clone -b 4.0.0-ONAP http://gerrit.onap.org/r/oom + > cd oom/kubernetes + +**Step 2.** Install Helm Plugins required to deploy the ONAP Casablanca release:: + + > 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 "" | 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:: @@ -149,25 +104,48 @@ follows:: NAME URL local http://127.0.0.1:8879 -**Step 6.** Display the charts that available to be deployed:: +**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 -l - NAME VERSION DESCRIPTION - local/appc 2.0.0 Application Controller - local/clamp 2.0.0 ONAP Clamp - local/common 2.0.0 Common templates for inclusion in other charts - local/onap 2.0.0 Open Network Automation Platform (ONAP) - local/robot 2.0.0 A helm Chart for kubernetes-ONAP Robot - local/so 2.0.0 ONAP Service Orchestrator + > helm search onap -l + +.. literalinclude:: helm-search.txt .. note:: - The of this Helm repository setup 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. + 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:: -**Step 7.** Once the repo is setup, installation of ONAP can be done with a -single command:: + > helm deploy dev local/onap --namespace onap - > helm install local/onap -name development -Use the following to monitor your deployment and determine when ONAP is ready for use:: + 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