blob: 360d9474aa0f85f16f405dce9103db14480cad3b [file] [log] [blame]
Vijay VKf9e43442019-05-22 22:10:29 +01001Installation
2============
Saravanan A32b6e8c2019-04-09 16:38:36 +05303
4SON handler microservice can be deployed using cloudify blueprint using bootstrap container of an existing DCAE deployment
5
Reshmasree100ea0e2019-05-15 17:57:41 +05306Deployment Prerequisites
7~~~~~~~~~~~~~~~~~~~~~~~~
Saravanan A32b6e8c2019-04-09 16:38:36 +05308
Reshmasree100ea0e2019-05-15 17:57:41 +05309- SON-Handler service requires DMAAP and Policy components to be functional.
Saravanan A32b6e8c2019-04-09 16:38:36 +053010
Reshmasree100ea0e2019-05-15 17:57:41 +053011- SON-hadler service requires the following dmaap topics to be present in the running DMAAP instance :
Saravanan A32b6e8c2019-04-09 16:38:36 +053012
Vijay VKedaf8b12019-05-23 22:02:50 +010013 1.PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO
Saravanan A32b6e8c2019-04-09 16:38:36 +053014
Vijay VKedaf8b12019-05-23 22:02:50 +010015 2.unauthenticated.SEC_FAULT_OUTPUT
Saravanan A32b6e8c2019-04-09 16:38:36 +053016
Vijay VKedaf8b12019-05-23 22:02:50 +010017 3.unauthenticated.SEC_MEASUREMENT_OUTPUT
Saravanan A32b6e8c2019-04-09 16:38:36 +053018
Vijay VKedaf8b12019-05-23 22:02:50 +010019 4.DCAE_CL_RSP
Saravanan A32b6e8c2019-04-09 16:38:36 +053020
Vijay VKedaf8b12019-05-23 22:02:50 +010021- 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
Saravanan A32b6e8c2019-04-09 16:38:36 +053026
Vijay VKedaf8b12019-05-23 22:02:50 +010027 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'
Saravanan A32b6e8c2019-04-09 16:38:36 +053041
Vijay VKedaf8b12019-05-23 22:02:50 +010042 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'
Saravanan A32b6e8c2019-04-09 16:38:36 +053049
Vijay VKedaf8b12019-05-23 22:02:50 +010050 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'
Saravanan A32b6e8c2019-04-09 16:38:36 +053055
Reshmasree100ea0e2019-05-15 17:57:41 +053056Deployment steps
57~~~~~~~~~~~~~~~~
Reshmasree2e46d242020-03-02 07:08:49 +0000581.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
652.Using cloudify commands
66
Reshmasree100ea0e2019-05-15 17:57:41 +053067- Login to the bootstrap container
Saravanan A32b6e8c2019-04-09 16:38:36 +053068 kubectl exec -ti --namespace onap <bootstrap pod name> bash
Reshmasree2e46d242020-03-02 07:08:49 +000069- The blueprint can be found under dcaegen2 blueprint repo and is part of bootstrap container. (https://gerrit.onap.org/r/dcaegen2/platform/blueprints)
Reshmasree100ea0e2019-05-15 17:57:41 +053070- Deploy the microservice into the cloudify using the following command
Reshmasree2e46d242020-03-02 07:08:49 +000071 cfy install -d sonhms -b sonhms <blueprint file path>
Reshmasree100ea0e2019-05-15 17:57:41 +053072- 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).
Saravanan A32b6e8c2019-04-09 16:38:36 +053073 kubectl get pods --namespace onap
Reshmasree100ea0e2019-05-15 17:57:41 +053074- To uninstall the microservice
Saravanan A32b6e8c2019-04-09 16:38:36 +053075 cfy uninstall sonhms
Reshmasree100ea0e2019-05-15 17:57:41 +053076- To delete the blueprint from the cloudify instance
Saravanan A32b6e8c2019-04-09 16:38:36 +053077 cfy blueprints delete sonhms
78
79
Reshmasree100ea0e2019-05-15 17:57:41 +053080Application Configurations
81--------------------------
Vijay VKedaf8b12019-05-23 22:02:50 +010082+-------------------------------+------------------------------------------------+
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+-------------------------------+------------------------------------------------+
Niranjanacefff6d2020-05-07 19:30:26 +0530131|sonhandler.poorCountThreshold | Threshold for number of times poorThreshold |
132| | can be recorded for the cell |
133+-------------------------------+------------------------------------------------+
134|sonhandler.badCountThreshold | Threshold for number of times badThreshold can |
135| | be recorded for the cell |
136+-------------------------------+------------------------------------------------+
137|sonhandler. | Timer for oof triggered count in minutes |
138|oofTriggerCountTimer | |
139+-------------------------------+------------------------------------------------+
140|sonhandler.policyRespTimer | Timer to wait for notification from policy |
141+-------------------------------+------------------------------------------------+
142|sonhandler. | Maximum number of negative acknowledgements |
143|policyNegativeAckThreshold | from policy for a given cell |
144+-------------------------------+------------------------------------------------+
145|sonhandler. | Time interval to trigger OOF with fixed pci |
146|policyFixedPciTimeInterval | cells |
147+-------------------------------+------------------------------------------------+
148|sonhandler.nfNamingCode | Parameter to filter FM and PM notifications |
149| | coming from ves |
150+-------------------------------+------------------------------------------------+
151