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 | |
Vijay VK | edaf8b1 | 2019-05-23 22:02:50 +0100 | [diff] [blame] | 13 | 1.PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 14 | |
Vijay VK | edaf8b1 | 2019-05-23 22:02:50 +0100 | [diff] [blame] | 15 | 2.unauthenticated.SEC_FAULT_OUTPUT |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 16 | |
Vijay VK | edaf8b1 | 2019-05-23 22:02:50 +0100 | [diff] [blame] | 17 | 3.unauthenticated.SEC_MEASUREMENT_OUTPUT |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 18 | |
Vijay VK | edaf8b1 | 2019-05-23 22:02:50 +0100 | [diff] [blame] | 19 | 4.DCAE_CL_RSP |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 20 | |
Vijay VK | edaf8b1 | 2019-05-23 22:02:50 +0100 | [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: |
| 22 | |
| 23 | 1.Login to PDP container and execute |
| 24 | |
| 25 | .. code-block:: bash |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 26 | |
Vijay VK | edaf8b1 | 2019-05-23 22:02:50 +0100 | [diff] [blame] | 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' |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 41 | |
Vijay VK | edaf8b1 | 2019-05-23 22:02:50 +0100 | [diff] [blame] | 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' |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 49 | |
Vijay VK | edaf8b1 | 2019-05-23 22:02:50 +0100 | [diff] [blame] | 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' |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 55 | |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 56 | Deployment steps |
| 57 | ~~~~~~~~~~~~~~~~ |
Reshmasree | 2e46d24 | 2020-03-02 07:08:49 +0000 | [diff] [blame] | 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 | |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 67 | - Login to the bootstrap container |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 68 | kubectl exec -ti --namespace onap <bootstrap pod name> bash |
Reshmasree | 2e46d24 | 2020-03-02 07:08:49 +0000 | [diff] [blame] | 69 | - The blueprint can be found under dcaegen2 blueprint repo and is part of bootstrap container. (https://gerrit.onap.org/r/dcaegen2/platform/blueprints) |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 70 | - Deploy the microservice into the cloudify using the following command |
Reshmasree | 2e46d24 | 2020-03-02 07:08:49 +0000 | [diff] [blame] | 71 | cfy install -d sonhms -b sonhms <blueprint file path> |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 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). |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 73 | kubectl get pods --namespace onap |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 74 | - To uninstall the microservice |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 75 | cfy uninstall sonhms |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 76 | - To delete the blueprint from the cloudify instance |
Saravanan A | 32b6e8c | 2019-04-09 16:38:36 +0530 | [diff] [blame] | 77 | cfy blueprints delete sonhms |
| 78 | |
| 79 | |
Reshmasree | 100ea0e | 2019-05-15 17:57:41 +0530 | [diff] [blame] | 80 | Application Configurations |
| 81 | -------------------------- |
Vijay VK | edaf8b1 | 2019-05-23 22:02:50 +0100 | [diff] [blame] | 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 | +-------------------------------+------------------------------------------------+ |
Niranjana | cefff6d | 2020-05-07 19:30:26 +0530 | [diff] [blame^] | 131 | |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 | |