diff --git a/docs/sections/installation_oom.rst b/docs/sections/installation_oom.rst
index f71675b..41cf34a 100644
--- a/docs/sections/installation_oom.rst
+++ b/docs/sections/installation_oom.rst
@@ -1,8 +1,8 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
 
-DCAE Deployment (using Helm and Cloudify)
-=========================================
+DCAE Deployment (using Helm)
+============================
 
 This document describes the details of the Helm chart based deployment process for ONAP and how DCAE is deployed through this process.
 
@@ -21,18 +21,22 @@
 and invokes Kubernetes deployment operations for all the resources.
 
 All ONAP Helm charts are organized under the **kubernetes** directory of the **OOM** project, where roughly each ONAP component occupies a subdirectory.
-DCAE platform components are deployed using Helm charts under the **dcaegen2** directory.
 
-With DCAE Transformation to Helm in Istabul, all DCAE components are supported for both helm and Cloudify/Blueprint deployments. Charts for individual MS are available under **dcaegen2-services** directory under OOM project (https://git.onap.org/oom/tree/kubernetes/dcaegen2-services/components). With ONAP deployment, four DCAE services (HV VES collector, VES collector, PNF Registration Handler, and TCA (Gen2) analytics service) are bootstrapped via Helm charts.
 
-Other DCAE Services are deployed on-demand, after ONAP/DCAE installation, through Cloudify Blueprints or helm-charts. For on-demand helm chart, refer to steps described in :ref:`Helm install/upgrade section <dcae-service-deployment>`.
-Operators can deploy on-demand other MS required for their usecases also via Cloudify as described in :doc:`On-demand MS Installation <./installation_MS_ondemand>`.
+With DCAE Transformation to Helm completed in Jakarta/R10 release, all DCAE components deployment will be supported only via helm.  Charts for individual MS are available under **dcaegen2-services** directory under OOM project (https://git.onap.org/oom/tree/kubernetes/dcaegen2-services/components). With ONAP deployment, four DCAE services (HV VES collector, VES collector, PNF Registration Handler, and TCA (Gen2) analytics service) are bootstrapped via Helm charts.
+
+Other DCAE Services can be deployed on-demand via their independent helm-charts. For on-demand helm chart, refer to steps described in :ref:`Helm install/upgrade section <dcae-service-deployment>`.
+
+
+.. note:: 
+  DCAE platform components deployments is optionally available through Helm charts under the **dcaegen2** directory however this mode is not supported with Jakarta release. These charts will be removed in subsequent release.
+  
 
 
 DCAE Chart Organization
 -----------------------
 
-Following Helm conventions, the DCAE Helm chart directory (``oom/kubernetes/dcaegen2``) consists of the following files and subdirectories:
+Following Helm conventions, the DCAE Helm chart directory (``oom/kubernetes/dcaegen2-services`` & ``oom/kubernetes/dcaegen2``) consists of the following files and subdirectories:
 
 * ``Chart.yaml``: metadata.
 * ``requirements.yaml``: dependency charts.
@@ -41,19 +45,6 @@
 * ``Makefile``: make file to build DCAE charts
 * ``components``: subdirectory for DCAE sub-charts.
 
-The dcaegen2 chart has the following sub-charts:
-
-* ``dcae-bootstrap``: deploys the DCAE bootstrap service that performs some DCAE initialization and deploys additional DCAE components.
-* ``dcae-cloudify-manager``: deploys the DCAE Cloudify Manager instance.
-* ``dcae-config-binding-service``: deploys the DCAE config binding service.
-* ``dcae-deployment-handler``: deploys the DCAE deployment handler service.
-* ``dcae-healthcheck``: deploys the DCAE healthcheck service that provides an API to check the health of all DCAE components.
-* ``dcae-policy-handler``: deploys the DCAE policy handler service.
-* ``dcae-redis``: deploys the DCAE Redis cluster.
-* ``dcae-dashboard``: deploys the DCAE Dashboard for managing DCAE microservices deployments
-* ``dcae-servicechange-handler``: deploys the DCAE service change handler service.
-* ``dcae-inventory-api``: deploys the DCAE inventory API service.
-* ``dcae-ves-openapi-manager``: deploys the DCAE service validator of VES_EVENT type artifacts from distributed services.
 
 The dcaegen2-services chart has the following sub-charts:
 
@@ -79,6 +70,7 @@
 * ``dcae-snmptrap-collector``: deploys the DCAE SNMPTRAP collector service.
 * ``dcae-son-handler``: deploys the DCAE SON-Handler microservice.
 * ``dcae-ves-mapper``: deploys the DCAE VES Mapper microservice.
+* ``dcae-ves-openapi-manager``: deploys the DCAE service validator of VES_EVENT type artifacts from distributed services.
 
 
 The dcaegen2-services sub-charts depend on a set of common templates, found under the ``common`` subdirectory under ``dcaegen2-services``.
@@ -86,64 +78,48 @@
 Information about using the common templates to deploy a microservice can be
 found in :doc:`Using Helm to deploy DCAE Microservices <./dcaeservice_helm_template>`.
 
+The dcaegen2 chart has the following sub-charts:
+
+* ``dcae-bootstrap``: deploys the DCAE bootstrap service that performs some DCAE initialization and deploys additional DCAE components.
+* ``dcae-cloudify-manager``: deploys the DCAE Cloudify Manager instance.
+* ``dcae-config-binding-service``: deploys the DCAE config binding service.
+* ``dcae-deployment-handler``: deploys the DCAE deployment handler service.
+* ``dcae-healthcheck``: deploys the DCAE healthcheck service that provides an API to check the health of all DCAE components.
+* ``dcae-policy-handler``: deploys the DCAE policy handler service.
+* ``dcae-redis``: deploys the DCAE Redis cluster.
+* ``dcae-dashboard``: deploys the DCAE Dashboard for managing DCAE microservices deployments
+* ``dcae-servicechange-handler``: deploys the DCAE service change handler service.
+* ``dcae-inventory-api``: deploys the DCAE inventory API service.
+
+These components are by default disabled under ONAP for Jakarta release and charts will be removed next release
+
 DCAE Deployment
 ---------------
 
 At deployment time for ONAP, when the **helm deploy** command is executed,
-DCAE resources defined within the subcharts - "dcaegen2" above are deployed
-along with subset of DCAE Microservices (based on override file configuration 
-defined in `values.yaml <https://git.onap.org/oom/tree/kubernetes/dcaegen2-services/values.yaml>`_
- 
+only the DCAE resources defined within the subcharts - "dcaegen2-services" above are deployed
+(based on override file configuration defined in `values.yaml <https://git.onap.org/oom/tree/kubernetes/dcaegen2-services/values.yaml>`_
+
 These include:
 
-* DCAE bootstrap service
-* DCAE healthcheck service
-* DCAE platform components:
-
-  * Cloudify Manager
-  * Config binding service
-  * Deployment handler
-  * Policy handler
-  * Service change handler
-  * Inventory API service
-  * Inventory postgres database service (launched as a dependency of the inventory API service)
-  * DCAE postgres database service (launched as a dependency of the bootstrap service)
-  * DCAE Mongo database service (launched as a dependency of the bootstrap service)
-  * VES OpenAPI Manager
-  
 * DCAE Service components:
   * VES Collector
   * HV-VES Collector
   * PNF-Registration Handler Service
   * Threshold Crossing Analysis (TCA-gen2)
+* DCAE-Services healthcheck 
+* VES OpenAPI Manager
 
 Some of the DCAE subcharts include an initContainer that checks to see if
 other services that they need in order to run have become ready.  The installation
 of these subcharts will pause until the needed services are available.
 
-In addition, DCAE operations depends on a Consul server cluster.
-For ONAP OOM deployment, the Consul cluster is provided as a shared
-resource. Its charts are defined under the ``oom/kubernetes/consul``
-directory, not as part of the DCAE chart hierarchy.
-
-With Istanbul release, DCAE bootstrapped Microservice deployment are managed completely under Helm. The Cloudify
-Bootstrap container preloads the microservice blueprints into DCAE Inventory, thereby making them available
-for On-Demand deployment support (trigger from CLAMP or external projects). 
-
-The dcae-bootstrap service has a number of prerequisites because the subsequently deployed DCAE components depends on a number of resources having entered their normal operation state.  DCAE bootstrap job will not start before these resources are ready.  They are:
-
-  * dcae-cloudify-manager
-  * consul-server
-  * msb-discovery
-  * kube2msb
-  * dcae-config-binding-service
-  * dcae-db
-  * dcae-mongodb
-  * dcae-inventory-api
+Since Istanbul release, DCAE bootstrapped Microservice deployment are managed completely under Helm.
 
 Additionaly tls-init-container invoked during component deployment relies on AAF to generate the required certificate hence AAF
-must be enabled under OOM deployment configuration.
+must be enabled under OOM deployment configuration. 
 
+As majority of DCAE services rely on DMAAP (MR and DR) interfaces, ONAP/DMAAP must also be enabled under OOM deployment configuration. 
 
 DCAE Configuration
 ------------------
@@ -159,64 +135,15 @@
      * In a Helm chart hierarchy, values defined in values.yaml files in higher level supersedes values defined in values.yaml files in lower level;
      * Helm command line supplied values supersedes values defined in any values.yaml files.
 
-In addition, for DCAE components deployed through Cloudify Manager blueprints, their configuration parameters are defined in the following places:
-
-     * The blueprint files can contain static values for configuration parameters;
-        * The blueprint files are defined under the ``blueprints`` directory of the ``dcaegen2/platform/blueprints`` repo, named with "k8s" prefix.
-     * The blueprint files can specify input parameters and the values of these parameters will be used for configuring parameters in Blueprints.  The values for these input parameters can be supplied in several ways as listed below in the order of precedence (low to high):
-        * The blueprint files can define default values for the input parameters;
-        * The blueprint input files can contain static values for input parameters of blueprints.  These input files are provided as config resources under the dcae-bootstrap chart;
-        * The blueprint input files may contain Helm templates, which are resolved into actual deployment time values following the rules for Helm values.
-
-
-Now we walk through an example, how to configure the Docker image for the DCAE VESCollector, which is deployed by Cloudify Manager.
-
-(*Note: Beginning with the Istanbul release, VESCollector is no longer deployed using Cloudify Manager during bootstrap.  However, the example is still
-useful for understanding how to deploy other components using a Cloudify blueprint.*)
-
-In the  `k8s-ves.yaml <https://git.onap.org/dcaegen2/platform/blueprints/tree/blueprints/k8s-ves.yaml>`_ blueprint, the Docker image to use is defined as an input parameter with a default value:
-
-.. code-block:: yaml
-
-    tag_version:
-    type: string
-    default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.5.4"
-
-The corresponding input file, ``https://git.onap.org/oom/tree/kubernetes/dcaegen2/components/dcae-bootstrap/resources/inputs/k8s-ves-inputs-tls.yaml``,
-it is defined again as:
-
-.. code-block:: yaml
-  {{ if .Values.componentImages.ves }}
-  tag_version: {{ include "common.repository" . }}/{{ .Values.componentImages.ves }}
-  {{ end }}
-
-
-Thus, when ``common.repository`` and ``componentImages.ves`` are defined in the ``values.yaml`` files,
-their values will be plugged in here and the resulting ``tag_version`` value
-will be passed to the blueprint as the Docker image tag to use instead of the default value in the blueprint.
-
-The ``componentImages.ves`` value is provided in the ``oom/kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml`` file:
-
-.. code-block:: yaml
-
-  componentImages:
-    ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.5.4
-
-
-The final result is that when DCAE bootstrap calls Cloudify Manager to deploy the DCAE VES collector, the 1.5.4 image will be deployed.
-
 
 .. _dcae-service-deployment:
 On-demand deployment/upgrade through Helm
 -----------------------------------------
 
-Under DCAE Transformation to Helm, all DCAE components has been delivered as helm charts under 
+Under DCAE Transformation to Helm, all DCAE components has been delivered as helm charts under
 OOM repository (https://git.onap.org/oom/tree/kubernetes/dcaegen2-services). 
 
 
-Blueprint deployment is also available to support regression usecases; ``Istanbul will be final release where
-Cloudify blueprint for components/microservices will be supported.``
-
 All DCAE component charts follows standard Helm structure. Each Microservice charts has predefined configuration defined under
 ``applicationConfig`` which can be modified or overridden at deployment time.
 
@@ -306,15 +233,7 @@
     HV-VES               dcae-hv-ves-collector:6061           dcae-hv-ves-collector.onap:30222
     TCA-Gen2             dcae-tcagen2:9091                    NA
     PRH                  dcae-prh:8100                        NA
-    Policy Handler       policy-handler:25577                 NA
-    Deployment Handler   deployment-handler:8443              NA
-    Inventory            inventory:8080                       NA
-    Config binding       config-binding-service:10000/10001   NA
-    DCAE Healthcheck     dcae-healthcheck:80                  NA
     DCAE MS Healthcheck  dcae-ms-healthcheck:8080             NA
-    Cloudify Manager     dcae-cloudify-manager:80             NA
-    DCAE Dashboard       dashboard:8443                       dashboard:30418
-    DCAE mongo           dcae-mongo-read:27017                NA
     ===================  ==================================   =======================================================
 
 In addition, a number of ONAP service endpoints that are used by DCAE components are listed as follows
@@ -323,15 +242,10 @@
     ====================   ============================      ================================
     Component              Cluster Internal (host:port)      Cluster external (svc_name:port)
     ====================   ============================      ================================
-    Consul Server          consul-server-ui:8500             NA
     Robot                  robot:88                          robot:30209 TCP
     Message router         message-router:3904               NA
     Message router         message-router:3905               message-router-external:30226
     Message router Kafka   message-router-kafka:9092         NA
-    MSB Discovery          msb-discovery:10081               msb-discovery:30281
-    Logging                log-kibana:5601                   log-kibana:30253
-    AAI                    aai:8080                          aai:30232
-    AAI                    aai:8443                          aai:30233
     ====================   ============================      ================================
 
 Uninstalling DCAE
@@ -341,7 +255,7 @@
 deleted by the ``helm undeploy`` command.  This command can be used to
 uninstall all of ONAP by undeploying the top-level Helm release that was
 created by the ``helm deploy`` command.  The command can also be used to
-uninstall just DCAE, by having the command undeploy the `top_level_release_name`-``dcaegen2``
+uninstall just DCAE, by having the command undeploy the `top_level_release_name`-``dcaegen2-services``
 Helm sub-release.
 
 Helm will undeploy only the components that were originally deployed using
@@ -353,22 +267,6 @@
 operation.  Deleting the namespace will get rid of any remaining resources
 in the namespace, including the components deployed by Cloudify Manager.
 
-When uninstalling DCAE alone, deleting the namespace would delete the
-rest of ONAP as well.  To delete DCAE alone, and to make sure all of the
-DCAE components deployed by Cloudify Manager are uninstalled:
-
-* Find the Cloudify Manager pod identifier, using a command like:
-
-  ``kubectl -n onap get pods | grep dcae-cloudify-manager``
-* Execute the DCAE cleanup script on the Cloudify Manager pod, using a command like:
-
-  ``kubectl -n onap exec`` `cloudify-manager-pod-id` ``-- /scripts/dcae-cleanup.sh``
-* Finally, run ``helm undeploy`` against the DCAE Helm subrelease
-
-The DCAE cleanup script uses Cloudify Manager and the DCAE Kubernetes
-plugin to instruct Kubernetes to delete the components deployed by Cloudify
-Manager.  This includes the components deployed when the DCAE bootstrap
-service ran and any components deployed after bootstrap.
 
 To undeploy the DCAE services deployed via Helm (the hv-ves-collector, ves-collector, tcagen2,
 and prh), use the ``helm undeploy`` command against the `top_level_release_name`-``dcaegen2-services``
diff --git a/docs/sections/services/snmptrap/installation.rst b/docs/sections/services/snmptrap/installation.rst
index d134a89..9c54994 100644
--- a/docs/sections/services/snmptrap/installation.rst
+++ b/docs/sections/services/snmptrap/installation.rst
@@ -24,7 +24,7 @@
 
 Also required is a working DMAAP/MR environment.  trapd
 publishes traps to DMAAP/MR as JSON messages and expects the host
-resources and publishing credentials to be included in the *Config Binding Service* 
+resources and publishing credentials to be included in the *Config Binding Service*
 config.
 
 Installation
@@ -33,7 +33,7 @@
 The following command will download the latest trapd container from
 nexus and launch it in the container named "trapd":
 
-    ``docker run --detach -t --rm -p 162:6162/udp -P --name=trapd nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.3 ./bin/snmptrapd.sh start``
+    ``docker run --detach -t --rm -p 162:6162/udp -P --name=trapd nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.6 ./bin/snmptrapd.sh start``
 
 Running an instance of **trapd** will result in arriving traps being published
 to the topic specified by Config Binding Services.  
