Merge "Update installation for R4"
[dcaegen2.git] / docs / sections / services / son-handler / installation.rst
1 Installation
2 ============
3
4 SON handler microservice can be deployed using cloudify blueprint using bootstrap container of an existing DCAE deployment
5
6 Deployment Prerequisites
7 ~~~~~~~~~~~~~~~~~~~~~~~~
8
9 - SON-Handler service requires DMAAP and Policy components to be functional.
10
11 - SON-hadler service requires  the following dmaap topics to be present in the running DMAAP instance :
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
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
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",
29    "attributes" : { "matching" : { "key1" : "value1" } },
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
46 Deployment steps
47 ~~~~~~~~~~~~~~~~
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
56         cfy uninstall sonhms
57 - To delete the blueprint from the cloudify instance
58         cfy blueprints delete sonhms
59
60
61 Application Configurations
62 --------------------------
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