summaryrefslogtreecommitdiffstats
path: root/docs/sections/services/pm-subscription-handler/installation.rst
blob: ea55256ad8f82a61d8f696b3e81855ca37848fdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

.. _pmsh-installation:

Installation
============

In Guilin, the PMSH can be deployed using the DCAE Dashboard or via CLI. Steps to deploy using CLI will be shown
below.

Deployment Prerequisites
^^^^^^^^^^^^^^^^^^^^^^^^

In order to successfully deploy the PMSH, one will need administrator access to the kubernetes cluster, as the following
procedure will be run from the dcae-bootstrap pod.
As well as this, the following components are required to be running. They can be verified by running the health checks.

    - DCAE Platform
    - DMaaP
    - A&AI
    - AAF

The robot healthcheck can be run from one of the Kubernetes controllers.

.. code-block:: bash

        ./oom/kubernetes/robot/ete-k8s.sh onap health

Deployment Procedure
^^^^^^^^^^^^^^^^^^^^

To deploy the PMSH in the Frankfurt release, the monitoring policy needs to be pushed directly to CONSUL.
To begin, kubectl exec on to the dcae-bootstrap pod and move to the /tmp directory.

.. code-block:: bash

        kubectl exec -itn <onap-namespace> onap-dcae-bootstrap bash

For information on creating a monitoring policy see :ref:`Subscription configuration<Subscription>`.

The following JSON is an example monitoring policy.

.. literalinclude:: resources/monitoring-policy.json
    :language: json

The monitoring-policy.json can then be PUT with the following curl request.

.. code-block:: bash

        curl -X PUT http://consul:8500/v1/kv/dcae-pmsh:policy \
            -H 'Content-Type: application/json' \
            -d @monitoring-policy.json

To deploy the PMSH microservice using the deployment handler API, the ``serviceTypeId`` is needed. This can be retrieved
using the inventory API.

.. code-block:: bash

        curl -k https://inventory:8080/dcae-service-types \
            | grep k8s-pmsh | jq '.items[] | select(.typeName == "k8s-pmsh") | .typeId'

Finally, deploy the PMSH via dcae deployment handler.

.. code-block:: bash

        curl -k https://deployment-handler:8443/dcae-deployments/dcae-pmsh \
            -H 'Content-Type: application/json' \
            -d '{
                "inputs": (),
                "serviceTypeId": "<k8s-pmsh-typeId>"
            }'