Update OOM docs for Casablanca
Updating release notes, Helm and K8s versions and
started documenting use of (un)deploy plugins.
Change-Id: Ia51db5f1489e8d63fd7e1f10e80174eb9f182f0f
Issue-ID: OOM-1497
Signed-off-by: Mike Elliott <mike.elliott@amdocs.com>
diff --git a/docs/onap_values.yaml b/docs/onap_values.yaml
deleted file mode 100644
index 663b05f..0000000
--- a/docs/onap_values.yaml
+++ /dev/null
@@ -1,104 +0,0 @@
-#################################################################
-# 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: true
-aai:
- enabled: true
-appc:
- enabled: true
-clamp:
- enabled: true
-cli:
- enabled: true
-consul: # Consul Health Check Monitoring
- enabled: true
-dcaegen2:
- enabled: true
-esr:
- enabled: true
-log: # ONAP Logging ElasticStack
- enabled: true
-message-router:
- enabled: true
-mock:
- enabled: true
-msb:
- enabled: true
-multicloud:
- enabled: true
-policy:
- enabled: true
-portal:
- enabled: true
-robot: # Robot Health Check
- enabled: true
-sdc:
- enabled: true
-sdnc:
- enabled: true
-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: true
-vfc:
- enabled: true
-vid:
- enabled: true
-vnfsdk:
- enabled: true
diff --git a/docs/oom_cloud_setup_guide.rst b/docs/oom_cloud_setup_guide.rst
index 4fe943c..9fb3ab7 100644
--- a/docs/oom_cloud_setup_guide.rst
+++ b/docs/oom_cloud_setup_guide.rst
@@ -45,34 +45,33 @@
.. table:: OOM Software Requirements
- ============== ========== ===== ======= ========
- Release Kubernetes Helm kubectl Docker
- ============== ========== ===== ======= ========
- amsterdam 1.7.x 2.3.x 1.7.x 1.12.x
- beijing 1.8.10 2.8.2 1.8.10 17.03.x
- casablanca/master 1.8.10 2.9.1 1.8.10 17.03.x
- ============== ========== ===== ======= ========
+ ============== =========== ===== ======== ========
+ Release Kubernetes Helm kubectl Docker
+ ============== =========== ===== ======== ========
+ amsterdam 1.7.x 2.3.x 1.7.x 1.12.x
+ beijing 1.8.10 2.8.2 1.8.10 17.03.x
+ casablanca 1.11.2 2.9.1 1.11.2 17.03.x
+ ============== =========== ===== ======== ========
Minimum Hardware Configuration
==============================
-The minimum hardware requirements are provided below. Note that although ONAP
-may operate on a single node as described production deployments will need at
-least three if not six nodes to ensure there is no single point of failure.
+The hardware requirements are provided below. Note that this is for a
+full ONAP deployment (all components). Customizing ONAP to deploy only
+components that are needed will drastically reduce the requirements.
.. table:: OOM Hardware Requirements
===== ===== ====== ====================
RAM HD vCores Ports
===== ===== ====== ====================
- 128GB 160GB 32 0.0.0.0/0 (all open)
+ 224GB 160GB 112 0.0.0.0/0 (all open)
===== ===== ====== ====================
.. note::
- Kubernetes supports a maximum of 110 pods per node which forces one to use at
- least two nodes to deploy all of ONAP although at least three are recommended
- (for example 4x32GB - 8 vCores each). Subsets of ONAP may still be deployed
- on a single node.
+ Kubernetes supports a maximum of 110 pods per node. The use of many small
+ nodes is preferred over a few larger nodes (for example 14x16GB - 8 vCores each).
+ Subsets of ONAP may still be deployed on a single node.
Cloud Installation
==================
diff --git a/docs/oom_quickstart_guide.rst b/docs/oom_quickstart_guide.rst
index 077e7e7..0029d5f 100644
--- a/docs/oom_quickstart_guide.rst
+++ b/docs/oom_quickstart_guide.rst
@@ -16,119 +16,18 @@
**Step 1.** Clone the OOM repository from ONAP gerrit::
- > git clone -b beijing http://gerrit.onap.org/r/oom
+ > git clone -b casablanca 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 2.** Customize the onap/values.yaml file to suit your deployment. You
+**Step 3.** 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: true
- aai:
- enabled: true
- appc:
- enabled: true
- clamp:
- enabled: true
- cli:
- enabled: true
- consul: # Consul Health Check Monitoring
- enabled: true
- dcaegen2:
- enabled: true
- esr:
- enabled: true
- log:
- enabled: true
- message-router:
- enabled: true
- mock:
- enabled: true
- msb:
- enabled: true
- multicloud:
- enabled: true
- policy:
- enabled: true
- portal:
- enabled: true
- robot: # Robot Health Check
- enabled: true
- sdc:
- enabled: true
- sdnc:
- enabled: true
- 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: true
- vfc:
- enabled: true
- vid:
- enabled: true
- vnfsdk:
- enabled: true
+.. literalinclude:: onap-values.yaml
+ :language: yaml
.. note::
To generate openStackEncryptedPasswordHere :
@@ -154,18 +53,12 @@
**Step 5.** Build a local Helm repository (from the kubernetes directory)::
- > make all
+ > make all; make onap
**Step 6.** Display the 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
+.. 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.
@@ -173,11 +66,15 @@
**Step 7.** Once the repo is setup, installation of ONAP can be done with a
single command::
- > helm install local/onap -n dev --namespace onap
+ > helm deploy dev local/onap --namespace onap
-.. note::
- The requirement for the use of the `onap` namespace will be lifted once the OOM team completes their Beijing deveivers.
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
\ No newline at end of file
diff --git a/docs/oom_setup_kubernetes_rancher.rst b/docs/oom_setup_kubernetes_rancher.rst
index a20c0df..fddccf8 100644
--- a/docs/oom_setup_kubernetes_rancher.rst
+++ b/docs/oom_setup_kubernetes_rancher.rst
@@ -48,7 +48,7 @@
Select Flavor
-------------
Known issues exist if flavor is too small for Rancher. Please select a flavor
-with at least 4 vCPU and 8GB ram.
+with at least 4 vCPU and 8GB ram. A size of 8 vCPU and 16GB ram is recommended.
.. image:: Rancher-Select_Flavor.jpeg
@@ -88,7 +88,7 @@
* install nfs server
.. note::
- The Beijing release of OOM only supports Helm 2.8.2 not the 2.7.2 shown in
+ The Casablanca release of OOM only supports Helm 2.9.1 not the 2.7.2 shown in
the screen capture below. The supported versions of all the software components
are listed in the :ref:`cloud-setup-guide-label`.
@@ -133,8 +133,9 @@
The size of a Kubernetes host depends on the size of the ONAP deployment that
will be installed.
-As of the Beijing release a minimum of 3 x 32GB hosts will be needed to run a
-full ONAP deployment (all components).
+As of the Casablanca release a minimum 224GB will be needed to run a
+full ONAP deployment (all components). It is recommended that more hosts are used
+with fewer resources instead of only a few large hosts. For example 14 x 16GB hosts.
If a small subset of ONAP components are being deployed for testing purposes,
then a single 16GB or 32GB host should suffice.
diff --git a/docs/oom_user_guide.rst b/docs/oom_user_guide.rst
index db410a6..cac2710 100644
--- a/docs/oom_user_guide.rst
+++ b/docs/oom_user_guide.rst
@@ -108,7 +108,7 @@
To prepare your system for an installation of ONAP, you'll need to::
- > git clone -b beijing http://gerrit.onap.org/r/oom
+ > git clone -b casablanca http://gerrit.onap.org/r/oom
> cd oom/kubernetes
@@ -282,7 +282,7 @@
To deploy ONAP with this environment file, enter::
- > helm install local/onap -n beijing -f environments/onap-production.yaml
+ > helm deploy local/onap -n casablanca -f environments/onap-production.yaml
.. include:: environments_onap_demo.yaml
:code: yaml
@@ -572,14 +572,14 @@
For example, to upgrade a container by changing configuration, specifically an
environment value::
- > helm upgrade beijing onap/so --version 2.0.1 --set enableDebug=true
+ > helm deploy casablanca onap/so --version 2.0.1 --set enableDebug=true
Issuing this command will result in the appropriate container being stopped by
Kubernetes and replaced with a new container with the new environment value.
To upgrade a component to a new version with a new configuration file enter::
- > helm upgrade beijing onap/so --version 2.0.2 -f environments/demo.yaml
+ > helm deploy casablanca onap/so --version 2.0.2 -f environments/demo.yaml
To fetch release history enter::
@@ -672,18 +672,18 @@
what will happen with a given command prior to actually deleting anything. For
example::
- > helm delete --dry-run beijing
+ > helm undeploy casablanca --dry-run
-will display the outcome of deleting the 'beijing' release from the deployment.
+will display the outcome of deleting the 'casablanca' release from the deployment.
To completely delete a release and remove it from the internal store enter::
- > helm delete --purge beijing
+ > helm undeploy casablanca --purge
One can also remove individual components from a deployment by changing the
ONAP configuration values. For example, to remove `so` from a running
deployment enter::
- > helm upgrade beijing osn/onap --set so.enabled=false
+ > helm undeploy casablanca-so --purge
will remove `so` as the configuration indicates it's no longer part of the
deployment. This might be useful if a one wanted to replace just `so` by
diff --git a/docs/openstack-k8s-node.sh b/docs/openstack-k8s-node.sh
index 66dc629..b8462aa 100644
--- a/docs/openstack-k8s-node.sh
+++ b/docs/openstack-k8s-node.sh
@@ -1,7 +1,7 @@
#!/bin/bash
DOCKER_VERSION=17.03
-KUBECTL_VERSION=1.8.10
+KUBECTL_VERSION=1.11.2
HELM_VERSION=2.9.1
# setup root access - default login: oom/oom - comment out to restrict access too ssh key only
diff --git a/docs/openstack-rancher.sh b/docs/openstack-rancher.sh
index 1f1d2e4..bcf542a 100644
--- a/docs/openstack-rancher.sh
+++ b/docs/openstack-rancher.sh
@@ -1,8 +1,8 @@
#!/bin/bash
DOCKER_VERSION=17.03
-RANCHER_VERSION=1.6.18
-KUBECTL_VERSION=1.8.10
+RANCHER_VERSION=1.6.22
+KUBECTL_VERSION=1.11.2
HELM_VERSION=2.9.1
# setup root access - default login: oom/oom - comment out to restrict access too ssh key only
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index c87eee0..a54dd79 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -8,6 +8,37 @@
Release Notes
=============
+Version 3.0.0 Casablanca Release
+--------------------------------
+
+:Release Date: 2018-11-30
+
+Summary
+=======
+
+The focus of this release was on incremental improvements in the following areas:
+- Pluggable persistent storage with support for GlusterFS as the first storage class provisioner
+- CPU and Memory limits in Helm Charts to improve Pod placement based on resource availablity in Kubernetes Cluster
+- Support of Node Selectors for Pod placement
+- Common "shared" Helm Charts referencing common images
+ - mariadb-galera cluster
+ - postgres cluster
+ - cassandra
+ - mysql
+ - mongodb
+- Integration of ARK Backup and Restore solution
+- Introduction of Helm deploy and undeploy plugins to better manage ONAP deployments
+
+
+**Security Notes**
+
+OOM code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found.
+
+Quick Links:
+ - `OOM project page <https://wiki.onap.org/display/DW/ONAP+Operations+Manager+Project>`_
+
+ - `Passing Badge information for OOM <https://bestpractices.coreinfrastructure.org/en/projects/1631>`_
+
Version 2.0.0 Beijing Release
-----------------------------
diff --git a/kubernetes/onap/values.yaml b/kubernetes/onap/values.yaml
index 62999b2..1ca2b84 100644
--- a/kubernetes/onap/values.yaml
+++ b/kubernetes/onap/values.yaml
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Amdocs, Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -112,7 +112,7 @@
robot:
enabled: true
config:
-# openStackEncryptedPasswordHere should match the encrypted string used in SO and APPC and overridden per environment
+ # openStackEncryptedPasswordHere should match the encrypted string used in SO and APPC and overridden per environment
openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
sdc:
enabled: true