From d37317befc750699d236c124fd220b51ef4e1667 Mon Sep 17 00:00:00 2001 From: Vijay Venkatesh Kumar Date: Mon, 4 Apr 2022 18:34:54 -0400 Subject: Deployment updates for J release Change-Id: Ib2195dd41d62e5db018b20b7a4948ea8e1a16206 Signed-off-by: Vijay Venkatesh Kumar Issue-ID: DCAEGEN2-3140 Signed-off-by: Vijay Venkatesh Kumar --- docs/sections/installation_oom.rst | 176 +++++------------------ docs/sections/services/snmptrap/installation.rst | 4 +- 2 files changed, 39 insertions(+), 141 deletions(-) diff --git a/docs/sections/installation_oom.rst b/docs/sections/installation_oom.rst index f71675bf..41cf34ab 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 @@ At deployment time, with a single **helm deploy** command, Helm resolves all the 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 `. -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 `. + + +.. 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 @@ Following Helm conventions, the DCAE Helm chart directory (``oom/kubernetes/dcae * ``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 @@ The dcaegen2-services chart has the following sub-charts: * ``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 @@ The dcaegen2-services sub-charts depend on a set of common templates, found unde 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 `_ - +only the DCAE resources defined within the subcharts - "dcaegen2-services" above are deployed +(based on override file configuration defined in `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 @@ Deployment time configuration of DCAE components are defined in several places. * 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 `_ 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 @@ Below is a table of default hostnames and ports for DCAE component service endpo 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 @@ for reference by DCAE developers and testers: ==================== ============================ ================================ 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 @@ All of the DCAE components deployed using the OOM Helm charts will be 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 @@ used for the deployment (typically ``onap``) after running the undeploy 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 d134a895..9c549948 100644 --- a/docs/sections/services/snmptrap/installation.rst +++ b/docs/sections/services/snmptrap/installation.rst @@ -24,7 +24,7 @@ configuration assets to instantiated containers as needed. 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 @@ Installation 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. -- cgit 1.2.3-korg