[DOC]Few changes added in DCAE healthcheck and DCAE deployment validation documentati...
[dcaegen2.git] / docs / sections / healthcheck.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. _healthcheck:
4
5 DCAE Health Check
6 =================
7
8 OOM Deployment
9 --------------
10 In OOM deployments, DCAE healthchecks are performed by a separate service--dcae-healthcheck.
11 This service is packaged into a Docker image (``onap/org.onap.dcaegen2.deployments.healthcheck-container``),
12 which is built in the ``healthcheck-container`` module in the ``dcaegen2/deployments`` repository.
13
14 The service is deployed with a Helm chart (``oom/kubernetes/dcaegen2/charts/dcae-healthcheck``)
15 when DCAE is deployed using OOM.
16
17 The dcae-healthcheck container runs a service that exposes a simple Web API.  In response to
18 request, the service checks Kubernetes to verify that all of the expected
19 DCAE platform and service components are in a ready state.  The service
20 has a fixed list of platform and service components that are normally deployed when DCAE is
21 first installed, including components deployed with Helm charts and
22 components deployed using Cloudify blueprints.   In addition, the healthcheck
23 service tracks and checks components that are deployed dynamically using Cloudify
24 blueprints after the initial DCAE installation.
25
26 The healthcheck service is exposed as a Kubernetes ClusterIP Service named
27 `dcae-healthcheck`.   The service can be queried for status as shown below.
28
29 .. note::
30   Run the below commands before running "curl dcae-healthcheck"
31
32   * To get the dcae-healthcheck pod name, run this: kubectl  get pods -n onap | grep dcae-healthcheck
33   * Then enter in to the shell of the container, run this: kubectl exec -it <dcae-healthcheck pod> -n onap bash
34
35 .. code-block:: json
36
37    $ curl dcae-healthcheck
38    {
39      "type": "summary",
40      "count": 14,
41      "ready": 14,
42      "items": [
43         {
44           "name": "dev-dcaegen2-dcae-cloudify-manager",
45           "ready": 1,
46           "unavailable": 0
47         },
48         {
49           "name": "dev-dcaegen2-dcae-config-binding-service",
50           "ready": 1,
51           "unavailable": 0
52         },
53         {
54           "name": "dev-dcaegen2-dcae-inventory-api",
55           "ready": 1,
56           "unavailable": 0
57         },
58         {
59           "name": "dev-dcaegen2-dcae-servicechange-handler",
60           "ready": 1,
61           "unavailable": 0
62         },
63         {
64           "name": "dev-dcaegen2-dcae-deployment-handler",
65           "ready": 1,
66           "unavailable": 0
67         },
68         {
69           "name": "dev-dcaegen2-dcae-policy-handler",
70           "ready": 1,
71           "unavailable": 0
72         },
73         {
74           "name": "dep-dcae-ves-collector",
75           "ready": 1,
76           "unavailable": 0
77         },
78         {
79           "name": "dep-dcae-tca-analytics",
80           "ready": 1,
81           "unavailable": 0
82         },
83         {
84           "name": "dep-dcae-prh",
85           "ready": 1,
86           "unavailable": 0
87         },
88         {
89           "name": "dep-dcae-hv-ves-collector",
90           "ready": 1,
91           "unavailable": 0
92         },
93         {
94           "name": "dep-dcae-dashboard",
95           "ready": 1,
96           "unavailable": 0
97         },
98         {
99           "name": "dep-dcae-snmptrap-collector",
100           "ready": 1,
101           "unavailable": 0
102         },
103         {
104           "name": "dep-holmes-engine-mgmt",
105           "ready": 1,
106           "unavailable": 0
107         },
108         {
109           "name": "dep-holmes-rule-mgmt",
110           "ready": 1,
111           "unavailable": 0
112         }
113       ]
114     }