4 SON handler microservice can be deployed using cloudify blueprint using bootstrap container of an existing DCAE deployment
6 Deployment Prerequisites
7 ~~~~~~~~~~~~~~~~~~~~~~~~
9 - SON-Handler service requires DMAAP and Policy components to be functional.
11 - SON-hadler service requires the following dmaap topics to be present in the running DMAAP instance :
13 1.PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO
15 2.unauthenticated.SEC_FAULT_OUTPUT
17 3.unauthenticated.SEC_MEASUREMENT_OUTPUT
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 1.Login to PDP container and execute
23 kubectl exec -ti --namespace onap policy-pdp-0 bash
25 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 '{
26 "policyName": "com.PCIMS_CONFIG_POLICY",
27 "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\" }",
28 "policyType": "Config",
29 "attributes" : { "matching" : { "key1" : "value1" } },
30 "policyConfigType": "Base",
32 "configName": "PCIMS_CONFIG_POLICY",
33 "configBodyType": "JSON"
34 }' 'https://pdp:8081/pdp/api/createPolicy'
37 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 '{
38 "policyName": "com.PCIMS_CONFIG_POLICY",
40 }' 'https://pdp:8081/pdp/api/pushPolicy'
42 4.Verify config policy is present
44 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'
48 - Login to the bootstrap container
49 kubectl exec -ti --namespace onap <bootstrap pod name> bash
50 - 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)
51 - Deploy the microservice into the cloudify using the following command
52 cfy install -d sonhms -b sonhms -i <inputs file path> <blueprint file path>
53 - 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).
54 kubectl get pods --namespace onap
55 - To uninstall the microservice
57 - To delete the blueprint from the cloudify instance
58 cfy blueprints delete sonhms
61 Application Configurations
62 --------------------------
64 Streams_subscribes Dmaap topics that the MS will consume messages
66 Streams_publishes Dmaap topics that the MS will publish messages
68 postgres.host Host where the postgres database is running
70 postgres.port Host where the postgres database is running
72 postgres.username Postgres username
74 postgres.password Postgres password
76 sonhandler.pollingInterval Polling Interval for consuming dmaap messages
78 sonhandler.pollingTimeout Polling timeout for consuming dmaap messages
80 sonhandler.numSolutions Number for solutions for OOF optimization
82 sonhandler.minCollision Minimum collision criteria to trigger OOF
84 sonhandler.minConfusion Minimum confusion criteria to trigger OOF
86 sonhandler.maximumClusters Maximum number of clusters MS can process
88 sonhandler.badThreshold Bad threshold for Handover success rate
90 sonhandler.poorThreshold Poor threshold for Handover success rate
92 sonhandler.namespace Namespace where MS is going to be deployed
94 sonhandler.sourceId Source ID of the Microservice (Required for Sending request to OOF)
96 sonhandler.dmaap.server Location of message routers
98 sonhandler.bufferTime Buffer time for MS to wait for more notifications when the optimization criteria is not met
100 sonhandler.cg Consumer group for the MS to consume message from dmaap
102 sonhandler.cid Consumer ID for the MS to consume message from dmaap
104 sonhandler.configDbService Location of the config DB (protocol, host & port)
106 sonhandler.oof.service Location of OOF (protocol, host & port)
108 sonhandler.optimizers Optimizer to trigger in OOF