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:
23 1.Login to PDP container and execute
27 kubectl exec -ti --namespace onap policy-pdp-0 bash
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",
39 "configName": "PCIMS_CONFIG_POLICY",
40 "configBodyType": "JSON" }' 'https://pdp:8081/pdp/api/createPolicy'
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'
50 4.Verify config policy is present
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'
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
65 2.Using cloudify commands
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
76 - To delete the blueprint from the cloudify instance
77 cfy blueprints delete sonhms
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 +-------------------------------+------------------------------------------------+