X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docs%2Foom_quickstart_guide.rst;h=bd5e3eeee6a48539521968e086d3416a49340787;hb=a4535c94d838cd0d784fd14ff8497be878c81176;hp=0e1d3591f7ff1b10bbd945e857b472e6fcbd78de;hpb=f8dee31b682bbae326a19f0e66cd0dd67fadb634;p=oom.git diff --git a/docs/oom_quickstart_guide.rst b/docs/oom_quickstart_guide.rst index 0e1d3591f7..bd5e3eeee6 100644 --- a/docs/oom_quickstart_guide.rst +++ b/docs/oom_quickstart_guide.rst @@ -1,7 +1,7 @@ .. 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 +.. Copyright 2019 Amdocs, Bell Canada .. _quick-start-label: @@ -17,29 +17,33 @@ 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 + > 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 the ONAP Casablanca release:: +**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 +**Step 3.** Customize the helm charts like oom/kubernetes/onap/values.yaml or an override +file like onap-all.yaml, onap-vfw.yaml or openstack.yaml file to suit your deployment with items like the OpenStack tenant information. +.. note:: + Standard and example override files (e.g. onap-all.yaml, openstack.yaml) can be found in + the oom/kubernetes/onap/resources/overrides/ directory. + 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 + the robot helm charts or robot section of openstack.yaml c. Encrypt the OpenStack password using the java based script for SO helm charts - or SO section of integration-override.yaml. + or SO section of openstack.yaml. d. Update the OpenStack parameters that will be used by robot, SO and APPC helm @@ -49,8 +53,8 @@ OpenStack tenant information. 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. +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 @@ -63,9 +67,9 @@ openssl algorithm that works with the python based Robot Framework. .. note:: To generate ROBOT openStackEncryptedPasswordHere : - ``root@olc-rancher:~# cd so/resources/config/mso/`` + ``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`` + ``/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 @@ -73,22 +77,65 @@ Java encryption library is not easy to integrate with openssl/python that ROBOT uses in Dublin. .. note:: - To generate SO openStackEncryptedPasswordHere : + To generate SO openStackEncryptedPasswordHere and openStackSoEncryptedPassword: + + SO_ENCRYPTION_KEY=`cat ~/oom/kubernetes/so/resources/config/mso/encryption.key` - 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 + + cd integration/deployment/heat/onap-rke/scripts + + javac Crypto.java + + [ if javac is not installed 'apt-get update ; apt-get install default-jdk' ] + java Crypto "$OS_PASSWORD" "$SO_ENCRYPTION_KEY" d. Update the OpenStack parameters: +There are assumptions in the demonstration VNF heat templates about the networking +available in the environment. To get the most value out of these templates and the +automation that can help confirm the setup is correct, please observe the following +constraints. + +openStackPublicNetId: + +This network should allow heat templates to add interfaces. +This need not be an external network, floating IPs can be assigned to the ports on +the VMs that are created by the heat template but its important that neutron allow +ports to be created on them. + +openStackPrivateNetCidr: "10.0.0.0/16" + +This ip address block is used to assign OA&M addresses on VNFs to allow ONAP connectivity. +The demonstration heat templates assume that 10.0 prefix can be used by the VNFs and the +demonstration ip addressing plan embodied in the preload template prevent conflicts when +instantiating the various VNFs. If you need to change this, you will need to modify the preload +data in the robot helm chart like integration_preload_parametes.py and the demo/heat/preload_data +in the robot container. The size of the CIDR should be sufficient for ONAP and the VMs you expect +to create. + +openStackOamNetworkCidrPrefix: "10.0" + +This ip prefix mush match the openStackPrivateNetCidr and is a helper variable to some of the +robot scripts for demonstration. A production deployment need not worry about this +setting but for the demonstration VNFs the ip asssignment strategy assumes 10.0 ip prefix. + + +Example Keystone v2.0 .. literalinclude:: example-integration-override.yaml :language: yaml +Example Keystone v3 (required for Rocky and later releases) +.. literalinclude:: example-integration-override-v3.yaml + :language: yaml + + + **Step 4.** To setup a local Helm server to server up the ONAP charts:: > helm serve & @@ -120,32 +167,46 @@ follows:: **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:: +.. note:: + The --timeout 900 is currently required in Dublin to address long running initialization tasks + for DMaaP and SO. Without this timeout value both applications may fail to deploy. + +To deploy all ONAP applications use this command:: + + > cd oom/kubernetes + > helm deploy dev local/onap --namespace onap -f onap/resources/overrides/onap-all.yaml -f onap/resources/overrides/environment.yaml -f onap/resources/overrides/openstack.yaml --timeout 900 - > helm deploy dev local/onap --namespace onap +All override files may be customized (or replaced by other overrides) as per needs. +onap-all.yaml - b. If you are using an integration-override.yaml file use this command:: + Enables the modules in the ONAP deployment. As ONAP is very modular, it is possible to customize ONAP and disable some components through this configuration file. - > helm deploy dev local/onap -f /root/integration-override.yaml --namespace onap +environment.yaml + Includes configuration values specific to the deployment environment. - 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.:: + Example: adapt readiness and liveness timers to the level of performance of your infrastructure - > helm deploy dev local/onap -f /root/oom/kubernetes/onap/resources/environments/public-cloud.yaml -f /root/integration-override.yaml --namespace onap +openstack.yaml + Includes all the Openstack related information for the default target tenant you want to use to deploy VNFs from ONAP and/or additional parameters for the embedded tests. -**Step 9.** Commands to interact with the OOM installation +**Step 9.** Verify ONAP installation -Use the following to monitor your deployment and determine when ONAP is -ready for use:: +Use the following to monitor your deployment and determine when ONAP is ready for use:: + + > kubectl get pods -n onap -o=wide + +.. note:: + While all pods may be in a Running state, it is not a guarantee that all components are running fine. - > kubectl get pods --all-namespaces -o=wide + Launch the healthcheck tests using Robot to verify that the components are healthy. -Undeploying onap can be done using the following command:: + > ~/oom/kubernetes/robot/ete-k8s.sh onap health - > helm undeploy dev --purge +**Step 10.** Undeploy ONAP +> 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