blob: f71675bf6ba9433489870e08a29938ec90d91204 [file] [log] [blame]
Lusheng Ji768421b2018-06-01 16:36:54 -04001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
Vijay VKf9e43442019-05-22 22:10:29 +01004DCAE Deployment (using Helm and Cloudify)
5=========================================
Lusheng Ji768421b2018-06-01 16:36:54 -04006
VENKATESH KUMAR3e2bb4c2020-05-13 16:21:54 -04007This document describes the details of the Helm chart based deployment process for ONAP and how DCAE is deployed through this process.
Lusheng Ji768421b2018-06-01 16:36:54 -04008
9
Vijay VKf9e43442019-05-22 22:10:29 +010010Deployment Overview
11-------------------
Lusheng Ji768421b2018-06-01 16:36:54 -040012
VENKATESH KUMAR3e2bb4c2020-05-13 16:21:54 -040013ONAP deployments are done on kubernetes through OOM/Helm charts. Kubernetes is a container orchestration technology that organizes containers into composites of various patterns for easy deployment, management, and scaling.
Jack Lucas34c40222019-05-16 09:42:56 -040014ONAP uses Kubernetes as the foundation for fulfilling its platform maturity promises.
Lusheng Ji768421b2018-06-01 16:36:54 -040015
VENKATESH KUMAR3e2bb4c2020-05-13 16:21:54 -040016ONAP manages Kubernetes specifications using Helm charts (in OOM project), under which all Kubernetes yaml-formatted resource specifications and additional files
Jack Lucas34c40222019-05-16 09:42:56 -040017are organized into a hierarchy of charts, sub-charts, and resources. These yaml files are further augmented with Helm's templating, which makes dependencies
18and cross-references of parameters and parameter derivatives among resources manageable for a large and complex Kubernetes system such as ONAP.
Lusheng Ji768421b2018-06-01 16:36:54 -040019
Jack Lucas34c40222019-05-16 09:42:56 -040020At deployment time, with a single **helm deploy** command, Helm resolves all the templates and compiles the chart hierarchy into Kubernetes resource definitions,
21and invokes Kubernetes deployment operations for all the resources.
Lusheng Ji768421b2018-06-01 16:36:54 -040022
Jack Lucas34c40222019-05-16 09:42:56 -040023All ONAP Helm charts are organized under the **kubernetes** directory of the **OOM** project, where roughly each ONAP component occupies a subdirectory.
Jack Lucas09fd2892021-03-23 10:25:15 -040024DCAE platform components are deployed using Helm charts under the **dcaegen2** directory.
Lusheng Ji768421b2018-06-01 16:36:54 -040025
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -040026With 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.
27
28Other 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>`.
29Operators can deploy on-demand other MS required for their usecases also via Cloudify as described in :doc:`On-demand MS Installation <./installation_MS_ondemand>`.
VENKATESH KUMAR7cac7242020-06-04 11:17:10 -040030
Vijay VKf9e43442019-05-22 22:10:29 +010031
Lusheng Ji768421b2018-06-01 16:36:54 -040032DCAE Chart Organization
33-----------------------
34
Jack Lucas34c40222019-05-16 09:42:56 -040035Following Helm conventions, the DCAE Helm chart directory (``oom/kubernetes/dcaegen2``) consists of the following files and subdirectories:
Lusheng Ji768421b2018-06-01 16:36:54 -040036
Jack Lucas34c40222019-05-16 09:42:56 -040037* ``Chart.yaml``: metadata.
38* ``requirements.yaml``: dependency charts.
39* ``values.yaml``: values for Helm templating engine to expand templates.
40* ``resources``: subdirectory for additional resource definitions such as configuration, scripts, etc.
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -040041* ``Makefile``: make file to build DCAE charts
42* ``components``: subdirectory for DCAE sub-charts.
Lusheng Ji768421b2018-06-01 16:36:54 -040043
44The dcaegen2 chart has the following sub-charts:
Guobiao Moc3dd8292018-06-26 11:12:36 -070045
Jack Lucas34c40222019-05-16 09:42:56 -040046* ``dcae-bootstrap``: deploys the DCAE bootstrap service that performs some DCAE initialization and deploys additional DCAE components.
47* ``dcae-cloudify-manager``: deploys the DCAE Cloudify Manager instance.
48* ``dcae-config-binding-service``: deploys the DCAE config binding service.
49* ``dcae-deployment-handler``: deploys the DCAE deployment handler service.
50* ``dcae-healthcheck``: deploys the DCAE healthcheck service that provides an API to check the health of all DCAE components.
51* ``dcae-policy-handler``: deploys the DCAE policy handler service.
52* ``dcae-redis``: deploys the DCAE Redis cluster.
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -040053* ``dcae-dashboard``: deploys the DCAE Dashboard for managing DCAE microservices deployments
Jack Lucas09fd2892021-03-23 10:25:15 -040054* ``dcae-servicechange-handler``: deploys the DCAE service change handler service.
55* ``dcae-inventory-api``: deploys the DCAE inventory API service.
Michal Banka5fb2f1d2021-03-10 14:30:09 +010056* ``dcae-ves-openapi-manager``: deploys the DCAE service validator of VES_EVENT type artifacts from distributed services.
Lusheng Ji768421b2018-06-01 16:36:54 -040057
Jack Lucas09fd2892021-03-23 10:25:15 -040058The dcaegen2-services chart has the following sub-charts:
59
ajay_dp00139f59df2021-07-14 16:57:46 +053060* ``dcae-datafile-collector``: deploys the DCAE DataFile Collector service.
Jack Lucas09fd2892021-03-23 10:25:15 -040061* ``dcae-hv-ves-collector``: deploys the DCAE High-Volume VES collector service.
62* ``dcae-ms-healthcheck``: deploys a health check component that tests the health of the 4 DCAE services deployed via Helm.
ajay_dp00139f59df2021-07-14 16:57:46 +053063* ``dcae-pm-mapper``: deploys the DCAE PM-Mapper service.
Jack Lucas09fd2892021-03-23 10:25:15 -040064* ``dcae-prh``: deploys the DCAE PNF Registration Handler service.
65* ``dcae-tcagen2``: deploys the DCAE TCA analytics service.
66* ``dcae-ves-collector``: deploys the DCAE VES collector service.
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -040067* ``dcae-bbs-eventprocessor-ms``: deploys the DCAE BBS Eventprocessor service.
68* ``dcae-datafile-collector``: deploys the DCAE Datafile collector service.
69* ``dcae-datalake-admin-ui``: deploys the Datalake Admin UI service.
70* ``dcae-datalake-des``: deploys the Datalake Data Extraction service.
71* ``dcae-datalake-feeder``: deploys the Datalake Feeder service.
72* ``dcae-heartbeat``: deploys the DCAE Heartbeat microservice.
73* ``dcae-kpi-ms``: deploys the DCAE KPI computation microservice.
74* ``dcae-ms-healthcheck``: deploys the DCAE healthcheck service that provides API to check health of bootstrapped DCAE service deployed via helm
75* ``dcae-pm-mapper``: deploys the DCAE PM-Mapper service.
76* ``dcae-pmsh``: deploys the DCAE PM Subscription Handler service.
77* ``dcae-restconf-collector``: deploys the DCAE RESTConf collector service.
78* ``dcae-slice-analysis-ms``: deploys the DCAE Slice Analysis service.
79* ``dcae-snmptrap-collector``: deploys the DCAE SNMPTRAP collector service.
80* ``dcae-son-handler``: deploys the DCAE SON-Handler microservice.
81* ``dcae-ves-mapper``: deploys the DCAE VES Mapper microservice.
82
Jack Lucas09fd2892021-03-23 10:25:15 -040083
84The dcaegen2-services sub-charts depend on a set of common templates, found under the ``common`` subdirectory under ``dcaegen2-services``.
85
Jack Lucas2ba8ede2021-06-18 13:53:05 -040086Information about using the common templates to deploy a microservice can be
87found in :doc:`Using Helm to deploy DCAE Microservices <./dcaeservice_helm_template>`.
88
Lusheng Ji768421b2018-06-01 16:36:54 -040089DCAE Deployment
90---------------
91
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -040092At deployment time for ONAP, when the **helm deploy** command is executed,
93DCAE resources defined within the subcharts - "dcaegen2" above are deployed
94along with subset of DCAE Microservices (based on override file configuration
95defined in `values.yaml <https://git.onap.org/oom/tree/kubernetes/dcaegen2-services/values.yaml>`_
96
Jack Lucas34c40222019-05-16 09:42:56 -040097These include:
Donald Huntera5683c62018-11-06 22:54:51 +000098
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -040099* DCAE bootstrap service
100* DCAE healthcheck service
101* DCAE platform components:
Lusheng Ji768421b2018-06-01 16:36:54 -0400102
Jack Lucas34c40222019-05-16 09:42:56 -0400103 * Cloudify Manager
104 * Config binding service
105 * Deployment handler
106 * Policy handler
107 * Service change handler
Jack Lucas09fd2892021-03-23 10:25:15 -0400108 * Inventory API service
Jack Lucas34c40222019-05-16 09:42:56 -0400109 * Inventory postgres database service (launched as a dependency of the inventory API service)
110 * DCAE postgres database service (launched as a dependency of the bootstrap service)
Jack Lucas09fd2892021-03-23 10:25:15 -0400111 * DCAE Mongo database service (launched as a dependency of the bootstrap service)
Michal Banka5fb2f1d2021-03-10 14:30:09 +0100112 * VES OpenAPI Manager
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -0400113
114* DCAE Service components:
115 * VES Collector
116 * HV-VES Collector
117 * PNF-Registration Handler Service
118 * Threshold Crossing Analysis (TCA-gen2)
Lusheng Ji768421b2018-06-01 16:36:54 -0400119
Jack Lucas34c40222019-05-16 09:42:56 -0400120Some of the DCAE subcharts include an initContainer that checks to see if
121other services that they need in order to run have become ready. The installation
122of these subcharts will pause until the needed services are available.
Donald Huntera5683c62018-11-06 22:54:51 +0000123
Jack Lucas34c40222019-05-16 09:42:56 -0400124In addition, DCAE operations depends on a Consul server cluster.
125For ONAP OOM deployment, the Consul cluster is provided as a shared
126resource. Its charts are defined under the ``oom/kubernetes/consul``
127directory, not as part of the DCAE chart hierarchy.
Lusheng Ji768421b2018-06-01 16:36:54 -0400128
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -0400129With Istanbul release, DCAE bootstrapped Microservice deployment are managed completely under Helm. The Cloudify
130Bootstrap container preloads the microservice blueprints into DCAE Inventory, thereby making them available
131for On-Demand deployment support (trigger from CLAMP or external projects).
132
Jack Lucas34c40222019-05-16 09:42:56 -0400133The 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:
Lusheng Ji768421b2018-06-01 16:36:54 -0400134
Jack Lucas34c40222019-05-16 09:42:56 -0400135 * dcae-cloudify-manager
136 * consul-server
137 * msb-discovery
138 * kube2msb
139 * dcae-config-binding-service
140 * dcae-db
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -0400141 * dcae-mongodb
VENKATESH KUMAR3e2bb4c2020-05-13 16:21:54 -0400142 * dcae-inventory-api
Jack Lucas09fd2892021-03-23 10:25:15 -0400143
VENKATESH KUMAR3e2bb4c2020-05-13 16:21:54 -0400144Additionaly tls-init-container invoked during component deployment relies on AAF to generate the required certificate hence AAF
Jack Lucas09fd2892021-03-23 10:25:15 -0400145must be enabled under OOM deployment configuration.
Donald Huntera5683c62018-11-06 22:54:51 +0000146
Lusheng Ji768421b2018-06-01 16:36:54 -0400147
148DCAE Configuration
149------------------
150
151Deployment time configuration of DCAE components are defined in several places.
152
153 * Helm Chart templates:
154 * Helm/Kubernetes template files can contain static values for configuration parameters;
155 * Helm Chart resources:
156 * Helm/Kubernetes resources files can contain static values for configuration parameters;
157 * Helm values.yaml files:
158 * The values.yaml files supply the values that Helm templating engine uses to expand any templates defined in Helm templates;
159 * In a Helm chart hierarchy, values defined in values.yaml files in higher level supersedes values defined in values.yaml files in lower level;
160 * Helm command line supplied values supersedes values defined in any values.yaml files.
161
Jack Lucas34c40222019-05-16 09:42:56 -0400162In addition, for DCAE components deployed through Cloudify Manager blueprints, their configuration parameters are defined in the following places:
Donald Huntera5683c62018-11-06 22:54:51 +0000163
Jack Lucas34c40222019-05-16 09:42:56 -0400164 * The blueprint files can contain static values for configuration parameters;
165 * The blueprint files are defined under the ``blueprints`` directory of the ``dcaegen2/platform/blueprints`` repo, named with "k8s" prefix.
166 * 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):
167 * The blueprint files can define default values for the input parameters;
168 * 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;
169 * The blueprint input files may contain Helm templates, which are resolved into actual deployment time values following the rules for Helm values.
Lusheng Ji768421b2018-06-01 16:36:54 -0400170
171
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -0400172Now we walk through an example, how to configure the Docker image for the DCAE VESCollector, which is deployed by Cloudify Manager.
Lusheng Ji768421b2018-06-01 16:36:54 -0400173
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -0400174(*Note: Beginning with the Istanbul release, VESCollector is no longer deployed using Cloudify Manager during bootstrap. However, the example is still
Jack Lucas09fd2892021-03-23 10:25:15 -0400175useful for understanding how to deploy other components using a Cloudify blueprint.*)
176
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -0400177In 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:
Lusheng Ji768421b2018-06-01 16:36:54 -0400178
Vijay VKf9e43442019-05-22 22:10:29 +0100179.. code-block:: yaml
Lusheng Ji768421b2018-06-01 16:36:54 -0400180
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -0400181 tag_version:
182 type: string
183 default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.5.4"
Jack Lucas09fd2892021-03-23 10:25:15 -0400184
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -0400185The corresponding input file, ``https://git.onap.org/oom/tree/kubernetes/dcaegen2/components/dcae-bootstrap/resources/inputs/k8s-ves-inputs-tls.yaml``,
Jack Lucas34c40222019-05-16 09:42:56 -0400186it is defined again as:
187
Vijay VKf9e43442019-05-22 22:10:29 +0100188.. code-block:: yaml
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -0400189 {{ if .Values.componentImages.ves }}
190 tag_version: {{ include "common.repository" . }}/{{ .Values.componentImages.ves }}
191 {{ end }}
Jack Lucas09fd2892021-03-23 10:25:15 -0400192
Jack Lucas34c40222019-05-16 09:42:56 -0400193
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -0400194Thus, when ``common.repository`` and ``componentImages.ves`` are defined in the ``values.yaml`` files,
195their values will be plugged in here and the resulting ``tag_version`` value
196will be passed to the blueprint as the Docker image tag to use instead of the default value in the blueprint.
Jack Lucas34c40222019-05-16 09:42:56 -0400197
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -0400198The ``componentImages.ves`` value is provided in the ``oom/kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml`` file:
Jack Lucas34c40222019-05-16 09:42:56 -0400199
Vijay VKf9e43442019-05-22 22:10:29 +0100200.. code-block:: yaml
Jack Lucas34c40222019-05-16 09:42:56 -0400201
Lusheng Ji768421b2018-06-01 16:36:54 -0400202 componentImages:
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -0400203 ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.5.4
Lusheng Ji768421b2018-06-01 16:36:54 -0400204
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -0400205
206The final result is that when DCAE bootstrap calls Cloudify Manager to deploy the DCAE VES collector, the 1.5.4 image will be deployed.
Lusheng Ji768421b2018-06-01 16:36:54 -0400207
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -0400208
209.. _dcae-service-deployment:
210On-demand deployment/upgrade through Helm
211-----------------------------------------
212
213Under DCAE Transformation to Helm, all DCAE components has been delivered as helm charts under
214OOM repository (https://git.onap.org/oom/tree/kubernetes/dcaegen2-services).
215
216
217Blueprint deployment is also available to support regression usecases; ``Istanbul will be final release where
218Cloudify blueprint for components/microservices will be supported.``
219
220All DCAE component charts follows standard Helm structure. Each Microservice charts has predefined configuration defined under
221``applicationConfig`` which can be modified or overridden at deployment time.
222
223Using helm, any of DCAE microservice can be deployed/upgraded/uninstalled on-demand.
224
Vijay Venkatesh Kumare77efec2021-11-11 12:00:30 -0500225``Pre-Install``
226
227.. note::
228 This step is only required when helm install should be done on different releasename/prefix from rest of ONAP deployment
229
230With Istanbul release, OOM team included support for ServiceAccount in ONAP deployment to limit the pod access to API server.
231
232Following packages has been added under oom/common to support pre-provisioning of cluster roles and ServiceAccount management
233
234 * `ServiceAccount <https://git.onap.org/oom/tree/kubernetes/common/serviceAccount/values.yaml>`_
235 * `RoleWrapper <https://git.onap.org/oom/tree/kubernetes/common/roles-wrapper>`_
236
237When deployed, these chart will create the ServiceAccount and Role (based on override) and required Rolebinding (to associate the Serviceaccount to a role).
238
239ONAP deployment by default includes the required provisioning of roles under release name (such as "dev") under which ONAP is deployed. For subsequent
240helm installation under same release name prefix (i.e dev-) no further action is required.
241
242When Helm install is required under different releasename prefix, then execute following command prior to running helm install.
243
244 .. code-block:: bash
245
246 helm install <DEPLOYMENT_PREFIX>-role-wrapper local/roles-wrapper -n <namespace>
247
248
249Followed by install of required service/chart
250
251 .. code-block:: bash
252
253 helm -n <namespace> install <DEPLOYMENT_PREFIX>-dcaegen2-services oom/kubernetes/dcaegen2-services
254
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -0400255
256``Installation``
257
258Review and update local copy of dcaegen2-service ``values.yaml`` oom/kubernetes/dcaegen2-services/values.yaml
259to ensure component is enabled for deployment (or provide as command line override)
260
261 .. code-block:: bash
Vijay Venkatesh Kumare77efec2021-11-11 12:00:30 -0500262
263 helm -n <namespace> install <DEPLOYMENT_PREFIX>-dcaegen2-services oom/kubernetes/dcaegen2-services
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -0400264
265
266Service component can also be installed individually from oom/kubernetes/dcaegen2-services/components/<dcae-ms-chart>
267
268 .. code-block:: bash
Vijay Venkatesh Kumare77efec2021-11-11 12:00:30 -0500269
Vijay Venkatesh Kumar756b1262021-09-21 18:30:12 -0400270 helm -n onap install dev-dcaegen2-services-ves-mapper oom/kubernetes/dcaegen2-services/components/dcae-ves-mapper -f values.yaml
271
272Using -f flag override file can be specified which will take precedence over default configuration.
273When commandline override is not provided, default (values.yaml) provided in chart-directory will be used.
274
275``Upgrade``
276
277Helm support upgrade of charts already deployed; using ``upgrade`` component deployment can be modified
278
279 .. code-block:: bash
280
281 helm -n <namespace> upgrade <DEPLOYMENT_PREFIX>-dcaegen2-services --reuse-values --values <updated values.yaml path> <dcaegen2-services helm charts path>
282
283
284For minor configuration updates, helm also supports new values to be provided inline to the upgrade command. Example below -
285
286 .. code-block:: bash
287
288 helm -n onap upgrade dev-dcaegen2-services oom/kubernetes/dcaegen2-services --reuse-values --set dcae-ves-collector.applicationConfig.auth.method="noAuth"
289
290``Uninstall``
291
292Components can be uninstalled using delete command.
293
294 .. code-block:: bash
295
296 helm -n <namespace> delete <DEPLOYMENT_PREFIX>-dcaegen2-services
297
Lusheng Ji768421b2018-06-01 16:36:54 -0400298DCAE Service Endpoints
299----------------------
300
Jack Lucas34c40222019-05-16 09:42:56 -0400301Below is a table of default hostnames and ports for DCAE component service endpoints in Kubernetes deployment:
Jack Lucas09fd2892021-03-23 10:25:15 -0400302 =================== ================================== =======================================================
303 Component Cluster Internal (host:port) Cluster external (svc_name:port)
304 =================== ================================== =======================================================
305 VES dcae-ves-collector:8443 dcae-ves-collector.onap:30417
306 HV-VES dcae-hv-ves-collector:6061 dcae-hv-ves-collector.onap:30222
307 TCA-Gen2 dcae-tcagen2:9091 NA
308 PRH dcae-prh:8100 NA
309 Policy Handler policy-handler:25577 NA
310 Deployment Handler deployment-handler:8443 NA
311 Inventory inventory:8080 NA
312 Config binding config-binding-service:10000/10001 NA
313 DCAE Healthcheck dcae-healthcheck:80 NA
314 DCAE MS Healthcheck dcae-ms-healthcheck:8080 NA
315 Cloudify Manager dcae-cloudify-manager:80 NA
316 DCAE Dashboard dashboard:8443 dashboard:30418
317 DCAE mongo dcae-mongo-read:27017 NA
318 =================== ================================== =======================================================
Lusheng Ji768421b2018-06-01 16:36:54 -0400319
Filip Krzywkacbd2ded2018-09-25 14:43:18 +0200320In addition, a number of ONAP service endpoints that are used by DCAE components are listed as follows
321for reference by DCAE developers and testers:
Donald Huntera5683c62018-11-06 22:54:51 +0000322
Filip Krzywkacbd2ded2018-09-25 14:43:18 +0200323 ==================== ============================ ================================
324 Component Cluster Internal (host:port) Cluster external (svc_name:port)
325 ==================== ============================ ================================
Jack Lucas09fd2892021-03-23 10:25:15 -0400326 Consul Server consul-server-ui:8500 NA
Filip Krzywkacbd2ded2018-09-25 14:43:18 +0200327 Robot robot:88 robot:30209 TCP
Jack Lucas09fd2892021-03-23 10:25:15 -0400328 Message router message-router:3904 NA
329 Message router message-router:3905 message-router-external:30226
Filip Krzywkacbd2ded2018-09-25 14:43:18 +0200330 Message router Kafka message-router-kafka:9092 NA
331 MSB Discovery msb-discovery:10081 msb-discovery:30281
332 Logging log-kibana:5601 log-kibana:30253
333 AAI aai:8080 aai:30232
334 AAI aai:8443 aai:30233
335 ==================== ============================ ================================
Lusheng Ji768421b2018-06-01 16:36:54 -0400336
Jack Lucas34c40222019-05-16 09:42:56 -0400337Uninstalling DCAE
338-----------------
339
340All of the DCAE components deployed using the OOM Helm charts will be
341deleted by the ``helm undeploy`` command. This command can be used to
342uninstall all of ONAP by undeploying the top-level Helm release that was
343created by the ``helm deploy`` command. The command can also be used to
344uninstall just DCAE, by having the command undeploy the `top_level_release_name`-``dcaegen2``
345Helm sub-release.
346
347Helm will undeploy only the components that were originally deployed using
348Helm charts. Components deployed by Cloudify Manager are not deleted by
349the Helm operations.
350
351When uninstalling all of ONAP, it is sufficient to delete the namespace
352used for the deployment (typically ``onap``) after running the undeploy
353operation. Deleting the namespace will get rid of any remaining resources
354in the namespace, including the components deployed by Cloudify Manager.
355
356When uninstalling DCAE alone, deleting the namespace would delete the
357rest of ONAP as well. To delete DCAE alone, and to make sure all of the
358DCAE components deployed by Cloudify Manager are uninstalled:
359
360* Find the Cloudify Manager pod identifier, using a command like:
361
362 ``kubectl -n onap get pods | grep dcae-cloudify-manager``
363* Execute the DCAE cleanup script on the Cloudify Manager pod, using a command like:
364
365 ``kubectl -n onap exec`` `cloudify-manager-pod-id` ``-- /scripts/dcae-cleanup.sh``
366* Finally, run ``helm undeploy`` against the DCAE Helm subrelease
367
368The DCAE cleanup script uses Cloudify Manager and the DCAE Kubernetes
369plugin to instruct Kubernetes to delete the components deployed by Cloudify
370Manager. This includes the components deployed when the DCAE bootstrap
Jack Lucas09fd2892021-03-23 10:25:15 -0400371service ran and any components deployed after bootstrap.
372
373To undeploy the DCAE services deployed via Helm (the hv-ves-collector, ves-collector, tcagen2,
374and prh), use the ``helm undeploy`` command against the `top_level_release_name`-``dcaegen2-services``
Vijay Venkatesh Kumar8311cbe2021-09-22 15:24:40 -0400375Helm sub-release.