Vijay VK | f9e4344 | 2019-05-22 22:10:29 +0100 | [diff] [blame^] | 1 | Installation |
| 2 | ============ |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 3 | |
| 4 | SON handler microservice can be deployed using cloudify blueprint using bootstrap container of an existing DCAE deployment |
| 5 | |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 6 | Deployment Prerequisites |
| 7 | ~~~~~~~~~~~~~~~~~~~~~~~~ |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 8 | |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 9 | - SON-Handler service requires DMAAP and Policy components to be functional. |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 10 | |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 11 | - SON-hadler service requires the following dmaap topics to be present in the running DMAAP instance : |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 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 | |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 21 | - Policy model required for SON-handler service should be created and pushed to policy component.Steps for creating and pushing the policy model: |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 22 | 1.Login to PDP container and execute |
| 23 | kubectl exec -ti --namespace onap policy-pdp-0 bash |
| 24 | 2.Create policy model |
| 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", |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 29 | "attributes" : { "matching" : { "key1" : "value1" } }, |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 30 | "policyConfigType": "Base", |
| 31 | "onapName": "DCAE", |
| 32 | "configName": "PCIMS_CONFIG_POLICY", |
| 33 | "configBodyType": "JSON" |
| 34 | }' 'https://pdp:8081/pdp/api/createPolicy' |
| 35 | |
| 36 | 3.Push policy model |
| 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", |
| 39 | "policyType": "Base" |
| 40 | }' 'https://pdp:8081/pdp/api/pushPolicy' |
| 41 | |
| 42 | 4.Verify config policy is present |
| 43 | |
| 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' |
| 45 | |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 46 | Deployment steps |
| 47 | ~~~~~~~~~~~~~~~~ |
| 48 | - Login to the bootstrap container |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 49 | kubectl exec -ti --namespace onap <bootstrap pod name> bash |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 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 |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 52 | cfy install -d sonhms -b sonhms -i <inputs file path> <blueprint file path> |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 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). |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 54 | kubectl get pods --namespace onap |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 55 | - To uninstall the microservice |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 56 | cfy uninstall sonhms |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 57 | - To delete the blueprint from the cloudify instance |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 58 | cfy blueprints delete sonhms |
| 59 | |
| 60 | |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 61 | Application Configurations |
| 62 | -------------------------- |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 63 | |
| 64 | Streams_subscribes Dmaap topics that the MS will consume messages |
| 65 | |
| 66 | Streams_publishes Dmaap topics that the MS will publish messages |
| 67 | |
| 68 | postgres.host Host where the postgres database is running |
| 69 | |
| 70 | postgres.port Host where the postgres database is running |
| 71 | |
| 72 | postgres.username Postgres username |
| 73 | |
| 74 | postgres.password Postgres password |
| 75 | |
| 76 | sonhandler.pollingInterval Polling Interval for consuming dmaap messages |
| 77 | |
| 78 | sonhandler.pollingTimeout Polling timeout for consuming dmaap messages |
| 79 | |
| 80 | sonhandler.numSolutions Number for solutions for OOF optimization |
| 81 | |
| 82 | sonhandler.minCollision Minimum collision criteria to trigger OOF |
| 83 | |
| 84 | sonhandler.minConfusion Minimum confusion criteria to trigger OOF |
| 85 | |
| 86 | sonhandler.maximumClusters Maximum number of clusters MS can process |
| 87 | |
| 88 | sonhandler.badThreshold Bad threshold for Handover success rate |
| 89 | |
| 90 | sonhandler.poorThreshold Poor threshold for Handover success rate |
| 91 | |
| 92 | sonhandler.namespace Namespace where MS is going to be deployed |
| 93 | |
| 94 | sonhandler.sourceId Source ID of the Microservice (Required for Sending request to OOF) |
| 95 | |
| 96 | sonhandler.dmaap.server Location of message routers |
| 97 | |
| 98 | sonhandler.bufferTime Buffer time for MS to wait for more notifications when the optimization criteria is not met |
| 99 | |
| 100 | sonhandler.cg Consumer group for the MS to consume message from dmaap |
| 101 | |
| 102 | sonhandler.cid Consumer ID for the MS to consume message from dmaap |
| 103 | |
| 104 | sonhandler.configDbService Location of the config DB (protocol, host & port) |
| 105 | |
| 106 | sonhandler.oof.service Location of OOF (protocol, host & port) |
| 107 | |
| 108 | sonhandler.optimizers Optimizer to trigger in OOF |
| 109 | |
| 110 | |