edfcb39f2f531a1510455259a963d0825da691d3
[dcaegen2.git] / docs / sections / services / son-handler / installation.rst
1 Installation
2 ============
3
4 SON handler microservice can be deployed using cloudify blueprint using bootstrap container of an existing DCAE deployment
5
6 Deployment Prerequisites
7 ~~~~~~~~~~~~~~~~~~~~~~~~
8
9 - SON-Handler service requires DMAAP and Policy components to be functional.
10
11 - SON-hadler service requires  the following dmaap topics to be present in the running DMAAP instance :
12
13         1.PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO
14
15         2.unauthenticated.SEC_FAULT_OUTPUT
16
17         3.unauthenticated.SEC_MEASUREMENT_OUTPUT
18
19         4.DCAE_CL_RSP
20
21 - Policy model required for SON-handler service should be created and pushed to policy component. Steps for creating and pushing the policy model:
22     
23         1.Login to PDP container and execute
24         
25             .. code-block:: bash
26
27                  kubectl exec -ti --namespace onap policy-pdp-0 bash
28             
29         2.Create policy model
30         
31             .. code-block:: bash
32             
33              curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
34               "policyName": "com.PCIMS_CONFIG_POLICY",
35               "configBody": "{ \"PCI_NEIGHBOR_CHANGE_CLUSTER_TIMEOUT_IN_SECS\":60, \"PCI_MODCONFIG_POLICY_NAME\":\"ControlLoop-vPCI-fb41f388-a5f2-11e8-98d0-529269fb1459\", \"PCI_OPTMIZATION_ALGO_CATEGORY_IN_OOF\":\"OOF-PCI-OPTIMIZATION\", \"PCI_SDNR_TARGET_NAME\":\"SDNR\" }",
36               "policyType": "Config", "attributes" : { "matching" : { "key1" : "value1" } },
37               "policyConfigType": "Base",
38               "onapName": "DCAE",
39               "configName": "PCIMS_CONFIG_POLICY",
40               "configBodyType": "JSON" }' 'https://pdp:8081/pdp/api/createPolicy'
41
42         3.Push policy model
43         
44             .. code-block:: bash
45             
46                curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
47               "policyName": "com.PCIMS_CONFIG_POLICY",
48               "policyType": "Base"}' 'https://pdp:8081/pdp/api/pushPolicy'
49
50         4.Verify config policy is present
51
52             .. code-block:: bash
53         
54                  curl -k -v --silent -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "configName": "PCIMS_CONFIG_POLICY",    "policyName": "com.Config_PCIMS_CONFIG_POLICY1*",    "requestID":"e65cc45a-9efb-11e8-98d0-529269ffa459"  }' 'https://pdp:8081/pdp/api/getConfig' 
55
56 Deployment steps
57 ~~~~~~~~~~~~~~~~
58 - Login to the bootstrap container
59         kubectl exec -ti --namespace onap <bootstrap pod name> bash
60 - Copy the blueprints and inputs file to the bootstrap container. The blueprint and a sample input file can be found under dpo/blueprints directory of son-hanler project. (https://gerrit.onap.org/r/dcaegen2/services/son-handler)
61 - Deploy the microservice into the cloudify using the following command
62         cfy install -d sonhms -b sonhms -i <inputs file path> <blueprint file path>
63 - Deployment status of the microservice can be found from kubernetes pods status (MS will be deployed as a k8s pod in the kubernetes environment under the same namespace as the DCAE environment).
64         kubectl get pods --namespace onap
65 - To uninstall the microservice
66         cfy uninstall sonhms
67 - To delete the blueprint from the cloudify instance
68         cfy blueprints delete sonhms
69
70
71 Application Configurations
72 --------------------------
73 +-------------------------------+------------------------------------------------+
74 |Configuration                  | Description                                    |
75 +===============================+================================================+
76 |Streams_subscribes             | Dmaap topics that the MS will consume messages |
77 +-------------------------------+------------------------------------------------+
78 |Streams_publishes              | Dmaap topics that the MS will publish messages |
79 +-------------------------------+------------------------------------------------+
80 |postgres.host                  | Host where the postgres database is running    |
81 +-------------------------------+------------------------------------------------+
82 |postgres.port                  | Host where the postgres database is running    |
83 +-------------------------------+------------------------------------------------+
84 |postgres.username              | Postgres username                              |
85 +-------------------------------+------------------------------------------------+
86 |postgres.password              | Postgres password                              |
87 +-------------------------------+------------------------------------------------+
88 |sonhandler.pollingInterval     | Polling Interval for consuming dmaap messages  |
89 +-------------------------------+------------------------------------------------+
90 |sonhandler.pollingTimeout      | Polling timeout for consuming dmaap messages   |
91 +-------------------------------+------------------------------------------------+
92 |sonhandler.numSolutions        | Number for solutions for OOF optimization      |
93 +-------------------------------+------------------------------------------------+
94 |sonhandler.minCollision        | Minimum collision criteria to trigger OOF      |
95 +-------------------------------+------------------------------------------------+
96 |sonhandler.minConfusion        | Minimum confusion criteria to trigger OOF      |
97 +-------------------------------+------------------------------------------------+
98 |sonhandler.maximumClusters     | Maximum number of clusters MS can process      |
99 +-------------------------------+------------------------------------------------+
100 |sonhandler.badThreshold        | Bad threshold for Handover success rate        |
101 +-------------------------------+------------------------------------------------+
102 |sonhandler.poorThreshold       | Poor threshold for Handover success rate       |
103 +-------------------------------+------------------------------------------------+
104 |sonhandler.namespace           | Namespace where MS is going to be deployed     |
105 +-------------------------------+------------------------------------------------+
106 |sonhandler.sourceId            | Source ID of the Microservice (to OOF)         |
107 +-------------------------------+------------------------------------------------+
108 |sonhandler.dmaap.server        | Location of message routers                    |
109 +-------------------------------+------------------------------------------------+
110 |sonhandler.bufferTime          | Buffer time for MS to wait for notifications   |
111 +-------------------------------+------------------------------------------------+
112 |sonhandler.cg                  | DMAAP Consumer group for subscription          |
113 +-------------------------------+------------------------------------------------+
114 |sonhandler.cid                 | DMAAP Consumer id for subcription              |
115 +-------------------------------+------------------------------------------------+
116 |sonhandler.configDbService     | Location of config DB (protocol, host & port)  |
117 +-------------------------------+------------------------------------------------+
118 |sonhandler.oof.service         | Location of OOF (protocol, host & port)        |
119 +-------------------------------+------------------------------------------------+
120 |sonhandler.optimizers          | Optimizer to trigger in OOF                    |
121 +-------------------------------+------------------------------------------------+
122