Merge "DL-Handler user guid Doc"
[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 1.Using DCAE Dashboard
59  - Login to DCAE Dashboard
60  - Go to Inventory --> Blueprints 
61  - Upload son-handler blueprint which can be found under blueprints repo (https://gerrit.onap.org/r/dcaegen2/platform/blueprints)
62  - Click on Deploy Action for son-handler blueprint
63  - Deployment logs can be viewed under Deployments section 
64
65 2.Using cloudify commands 
66
67 - Login to the bootstrap container
68         kubectl exec -ti --namespace onap <bootstrap pod name> bash
69 - The blueprint can be found under dcaegen2 blueprint repo and is part of bootstrap container. (https://gerrit.onap.org/r/dcaegen2/platform/blueprints)
70 - Deploy the microservice into the cloudify using the following command
71         cfy install -d sonhms -b sonhms <blueprint file path>
72 - 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).
73         kubectl get pods --namespace onap
74 - To uninstall the microservice
75         cfy uninstall sonhms
76 - To delete the blueprint from the cloudify instance
77         cfy blueprints delete sonhms
78
79
80 Application Configurations
81 --------------------------
82 +-------------------------------+------------------------------------------------+
83 |Configuration                  | Description                                    |
84 +===============================+================================================+
85 |Streams_subscribes             | Dmaap topics that the MS will consume messages |
86 +-------------------------------+------------------------------------------------+
87 |Streams_publishes              | Dmaap topics that the MS will publish messages |
88 +-------------------------------+------------------------------------------------+
89 |postgres.host                  | Host where the postgres database is running    |
90 +-------------------------------+------------------------------------------------+
91 |postgres.port                  | Host where the postgres database is running    |
92 +-------------------------------+------------------------------------------------+
93 |postgres.username              | Postgres username                              |
94 +-------------------------------+------------------------------------------------+
95 |postgres.password              | Postgres password                              |
96 +-------------------------------+------------------------------------------------+
97 |sonhandler.pollingInterval     | Polling Interval for consuming dmaap messages  |
98 +-------------------------------+------------------------------------------------+
99 |sonhandler.pollingTimeout      | Polling timeout for consuming dmaap messages   |
100 +-------------------------------+------------------------------------------------+
101 |sonhandler.numSolutions        | Number for solutions for OOF optimization      |
102 +-------------------------------+------------------------------------------------+
103 |sonhandler.minCollision        | Minimum collision criteria to trigger OOF      |
104 +-------------------------------+------------------------------------------------+
105 |sonhandler.minConfusion        | Minimum confusion criteria to trigger OOF      |
106 +-------------------------------+------------------------------------------------+
107 |sonhandler.maximumClusters     | Maximum number of clusters MS can process      |
108 +-------------------------------+------------------------------------------------+
109 |sonhandler.badThreshold        | Bad threshold for Handover success rate        |
110 +-------------------------------+------------------------------------------------+
111 |sonhandler.poorThreshold       | Poor threshold for Handover success rate       |
112 +-------------------------------+------------------------------------------------+
113 |sonhandler.namespace           | Namespace where MS is going to be deployed     |
114 +-------------------------------+------------------------------------------------+
115 |sonhandler.sourceId            | Source ID of the Microservice (to OOF)         |
116 +-------------------------------+------------------------------------------------+
117 |sonhandler.dmaap.server        | Location of message routers                    |
118 +-------------------------------+------------------------------------------------+
119 |sonhandler.bufferTime          | Buffer time for MS to wait for notifications   |
120 +-------------------------------+------------------------------------------------+
121 |sonhandler.cg                  | DMAAP Consumer group for subscription          |
122 +-------------------------------+------------------------------------------------+
123 |sonhandler.cid                 | DMAAP Consumer id for subcription              |
124 +-------------------------------+------------------------------------------------+
125 |sonhandler.configDbService     | Location of config DB (protocol, host & port)  |
126 +-------------------------------+------------------------------------------------+
127 |sonhandler.oof.service         | Location of OOF (protocol, host & port)        |
128 +-------------------------------+------------------------------------------------+
129 |sonhandler.optimizers          | Optimizer to trigger in OOF                    |
130 +-------------------------------+------------------------------------------------+