0461731c16b1e3312f4df6fe7d6d103b17961ac4
[oom.git] / kubernetes / policy / resources / config / opt / policy / config / pe / push-policies.sh
1 #! /bin/bash
2
3 # forked from https://gerrit.onap.org/r/gitweb?p=policy/docker.git;a=blob;f=config/pe/push-policies.sh;h=555ab357e6b4f54237bf07ef5e6777d782564bc0;hb=refs/heads/amsterdam and adapted for OOM
4
5 #########################################Upload BRMS Param Template##########################################
6
7 echo "Upload BRMS Param Template"
8
9 sleep 2
10
11 wget -O cl-amsterdam-template.drl https://git.onap.org/policy/drools-applications/plain/controlloop/templates/archetype-cl-amsterdam/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl
12
13 sleep 2
14
15 curl -v --silent -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -F "file=@cl-amsterdam-template.drl" -F "importParametersJson={\"serviceName\":\"ClosedLoopControlName\",\"serviceType\":\"BRMSPARAM\"}" 'http://pdp.onap-policy:8081/pdp/api/policyEngineImport' 
16
17 echo "PRELOAD_POLICIES is $PRELOAD_POLICIES"
18
19 if [ "$PRELOAD_POLICIES" == "false" ]; then
20     exit 0
21 fi
22
23 #########################################Create BRMS Param policies##########################################
24
25 echo "Create BRMSParam Operational Policies"
26
27 sleep 2
28
29 echo "Create BRMSParamvFirewall Policy"
30 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
31         "policyConfigType": "BRMS_PARAM",
32         "policyName": "com.BRMSParamvFirewall",
33         "policyDescription": "BRMS Param vFirewall policy",
34         "policyScope": "com",
35         "attributes": {
36                 "MATCHING": {
37                 "controller" : "amsterdam"
38             },
39                 "RULE": {
40                         "templateName": "ClosedLoopControlName",
41                         "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
42                         "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0D%0A++trigger_policy%3A+unique-policy-id-1-modifyConfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-modifyConfig%0D%0A++++name%3A+modify+packet+gen+config%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+TBD+-+Cannot+be+known+until+instantiation+is+done%0D%0A++++++resourceID%3A+Eace933104d443b496b8.nodes.heat.vpg%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
43                 }
44         }
45 }' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
46
47 sleep 2
48
49 echo "Create BRMSParamvDNS Policy"
50 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
51         "policyConfigType": "BRMS_PARAM",
52         "policyName": "com.BRMSParamvDNS",
53         "policyDescription": "BRMS Param vDNS policy",
54         "policyScope": "com",
55         "attributes": {
56                 "MATCHING": {
57                 "controller" : "amsterdam"
58             },
59                 "RULE": {
60                         "templateName": "ClosedLoopControlName",
61                         "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
62                         "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3%0D%0A++trigger_policy%3A+unique-policy-id-1-scale-up%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-scale-up%0D%0A++++name%3A+Create+a+new+VF+Module%0D%0A++++description%3A%0D%0A++++actor%3A+SO%0D%0A++++recipe%3A+VF+Module+Create%0D%0A++++target%3A%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
63                 }
64         }
65 }' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
66
67 sleep 2
68
69 echo "Create BRMSParamVOLTE Policy"
70 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
71         "policyConfigType": "BRMS_PARAM",
72         "policyName": "com.BRMSParamVOLTE",
73         "policyDescription": "BRMS Param VOLTE policy",
74         "policyScope": "com",
75         "attributes": {
76                 "MATCHING": {
77                 "controller" : "amsterdam"
78             },
79                 "RULE": {
80                         "templateName": "ClosedLoopControlName",
81                         "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b",
82                         "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+VFC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
83                 }
84         }
85 }' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
86
87 sleep 2
88
89 echo "Create BRMSParamvCPE Policy"
90 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
91         "policyConfigType": "BRMS_PARAM",
92         "policyName": "com.BRMSParamvCPE",
93         "policyDescription": "BRMS Param vCPE policy",
94         "policyScope": "com",
95         "attributes": {
96             "MATCHING": {
97                 "controller" : "amsterdam"
98             },
99                 "RULE": {
100                         "templateName": "ClosedLoopControlName",
101                         "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
102                         "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+true%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
103                 }
104         }
105 }' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
106
107 #########################################Create Micro Service Config policies##########################################
108
109 echo "Create MicroService Config Policies"
110
111 sleep 2
112
113 echo "Create MicroServicevFirewall Policy"
114 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
115         "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevFirewall\", \"description\": \"MicroService vFirewall Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"vFirewallBroadcastPackets\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 300, \"direction\": \"LESS_OR_EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ONSET\" }, { \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 700, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" } ] }] } } }",
116         "policyConfigType": "MicroService",
117         "policyName": "com.MicroServicevFirewall",
118         "onapName": "DCAE"
119 }' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
120
121
122 sleep 2
123
124 echo "Create MicroServicevDNS Policy"
125 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
126         "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevDNS\", \"description\": \"MicroService vDNS Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"vLoadBalancer\", \"controlLoopSchemaType\": \"VM\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 300, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] } } }",
127         "policyConfigType": "MicroService",
128         "policyName": "com.MicroServicevDNS",
129         "onapName": "DCAE"
130 }' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
131
132
133 sleep 2
134
135 echo "Create MicroServicevCPE Policy"
136 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
137         "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevCPE\", \"description\": \"MicroService vCPE Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"Measurement_vGMUX\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ABATED\" }, { \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"GREATER\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] } } }",
138         "policyConfigType": "MicroService",
139         "policyName": "com.MicroServicevCPE",
140         "onapName": "DCAE"
141 }' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
142
143
144 #########################################Creating Decision Guard policy######################################### 
145
146 sleep 2
147
148 echo "Creating Decision Guard policy"
149 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ 
150         "policyClass": "Decision", 
151         "policyName": "com.AllPermitGuard", 
152         "policyDescription": "Testing all Permit YAML Guard Policy", 
153         "ecompName": "PDPD", 
154         "ruleProvider": "GUARD_YAML", 
155         "attributes": { 
156                 "MATCHING": { 
157                         "actor": ".*", 
158                         "recipe": ".*", 
159                         "targets": ".*", 
160                         "clname": ".*", 
161                         "limit": "10", 
162                         "timeWindow": "1", 
163                         "timeUnits": "minute", 
164                         "guardActiveStart": "00:00:01-05:00", 
165                         "guardActiveEnd": "00:00:00-05:00" 
166                 } 
167         } 
168 }' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
169
170 #########################################Push Decision policy#########################################
171
172 sleep 2
173
174 echo "Push Decision policy" 
175 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ 
176   "pdpGroup": "default", 
177   "policyName": "com.AllPermitGuard", 
178   "policyType": "DECISION" 
179 }' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
180
181 #########################################Pushing BRMS Param policies##########################################
182
183 echo "Pushing BRMSParam Operational policies"
184
185 sleep 2
186
187 echo "pushPolicy : PUT : com.BRMSParamvFirewall"
188 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
189   "pdpGroup": "default",
190   "policyName": "com.BRMSParamvFirewall",
191   "policyType": "BRMS_Param"
192 }' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
193
194 sleep 2
195
196 echo "pushPolicy : PUT : com.BRMSParamvDNS"
197 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
198   "pdpGroup": "default",
199   "policyName": "com.BRMSParamvDNS",
200   "policyType": "BRMS_Param"
201 }' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
202
203 sleep 2
204
205 echo "pushPolicy : PUT : com.BRMSParamVOLTE"
206 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
207   "pdpGroup": "default",
208   "policyName": "com.BRMSParamVOLTE",
209   "policyType": "BRMS_Param"
210 }' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
211
212 sleep 2
213
214 echo "pushPolicy : PUT : com.BRMSParamvCPE"
215 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
216   "pdpGroup": "default",
217   "policyName": "com.BRMSParamvCPE",
218   "policyType": "BRMS_Param"
219 }' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
220
221 #########################################Pushing MicroService Config policies##########################################
222
223 echo "Pushing MicroService Config policies"
224
225 sleep 2
226
227 echo "pushPolicy : PUT : com.MicroServicevFirewall"
228 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
229   "pdpGroup": "default",
230   "policyName": "com.MicroServicevFirewall",
231   "policyType": "MicroService"
232 }' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
233
234 sleep 10
235
236 echo "pushPolicy : PUT : com.MicroServicevDNS"
237 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
238   "pdpGroup": "default",
239   "policyName": "com.MicroServicevDNS",
240   "policyType": "MicroService"
241 }' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy' 
242
243 sleep 10
244
245 echo "pushPolicy : PUT : com.MicroServicevCPE"
246 curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
247   "pdpGroup": "default",
248   "policyName": "com.MicroServicevCPE",
249   "policyType": "MicroService"
250 }' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'