...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 imports: - tca_policy_model_casablanca.yml policies: - onap.vfirewall.tca_policy: type: policy.nodes.tca properties: domain: measurementsForVfScaling metricsPerEventName: - eventName: Mfvs_eNodeB_RANKPIvFirewallBroadcastPackets controlLoopSchemaType: VNF policyScope: "resource=vFirewall;type=configurationDCAE" policyName: "configuration.dcae.microservice.tca.xmlDCAE.Config_tca-hi-lo" policyVersion: "v0.0.1" thresholds: - closedLoopControlName: "CLControlLoop-FRWLvFirewall-LOWd0a1dfc6-TRAFFIC94f5-SIG4fd4-d925ed73-8231-4d02-9545-db4e101f88f8a5b5-4630b438850a" closedLoopEventStatus: ONSET version: "1.0.2" fieldPath: "$.event.measurementsForVfScalingFields.vNicPerformanceArrayvNicUsageArray[*].receivedBroadcastPacketsAccumulatedreceivedTotalPacketsDelta" thresholdValue: 4000300 direction: LESS_OR_EQUAL severity: MAJOR - closedLoopControlName: "CLControlLoop-FRWLvFirewall-HIGHd0a1dfc6-TRAFFIC94f5-SIG4fd4-EA36FE84-9342-5E13-A656-EC5F21309A09a5b5-4630b438850a" closedLoopEventStatus: ONSET version: "1.0.2" fieldPath: "$.event.measurementsForVfScalingFields.vNicPerformanceArrayvNicUsageArray[*].receivedBroadcastPacketsAccumulatedreceivedTotalPacketsDelta" thresholdValue: 20000700 direction: GREATER_OR_EQUAL severity: CRITICAL - closedLoopControlName: "CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09" closedLoopEventStatus: ABATED version: "1.0.2" fieldPath: "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated" thresholdValue: 0 direction: EQUAL severity: CRITICAL |
Actual Input expected by the API does not match the above YAML, but instead is JSON.
|
Actual Input expected by the API does not match the above YAML, but instead is JSON.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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 '{
"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\" } ] }] } } }",
"policyConfigType": "MicroService",
"policyName": "com.MicroServicevFirewall",
"onapName": "DCAE"
}' 'https://pdp:8081/pdp/api/createPolicy'
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"service": "tca_policy",
"location": "SampleServiceLocation",
"uuid": "test",
"policyName": "MicroServicevFirewall", ## WHOA - THIS DOES NOT MATCH policyName in the top-level API call JSON payload
"description": "MicroService vFirewall Policy",
"configName": "SampleConfigName", ### ?????
"templateVersion": "OpenSource.version.1",
"version": "1.1.0",
"priority": "1",
"policyScope": "resource=SampleResource,service=SampleService, | ||||||
Code Block | ||||||
| ||||||
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 '{ "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\" }, { "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\ "closedLoopEventStatus": \"ONSET\" } ] }] } } }", "policyConfigType": "MicroService", "policyName": "com.MicroServicevFirewall", "onapName": "DCAE" }' 'https://pdp:8081/pdp/api/createPolicy' | ||||||
Code Block | ||||||
| ||||||
"
}
]
}
]
}
}
} |
The exact details on what DCAE Policy Handler has to do be able to retrieve the policy are way to numerous and are documented in this PDF:
DCAEGEN2 architecture of policy-handling by DCAE-controller
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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 '{
"pdpGroup": "default",
"policyName": "com.MicroServicevFirewall",
"policyType": "MicroService"
}' 'https://pdp:8081/pdp/api/pushPolicy'
|
DCAE Policy Handler
Code Block | ||
---|---|---|
| ||
https://pdp:8081/pdp/api/getConfig POST Content-Type: application/json {"configAttributes": {}, "unique": false, "ecompName": "DCAE", "configName": ".*", "policyName": ".*vFirewall*"} # # Returns # { "policyConfigMessage": "Config Retrieved! ", "policyConfigStatus": "CONFIG_RETRIEVED", "type": "JSON", "config": "{\"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={ "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": \"riskType\":\"SampleRiskType\",\"riskLevel\":\"1\",\"guard\":\"False\",\"content\":{\"policyVersion\":\"v0.0.1\",\"threshholds\":[{\"severity\":\"MAJOR\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": \"300, "direction": "LESS_OR_EQUAL", "severity": "MAJOR", "closedLoopEventStatus": "ONSET" }, { "closedLoopControlName": \",\"closedLoopEventStatus\":\"ONSET\",\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2", "fieldPath": \",\"direction\":\"LESS_OR_EQUAL\"},{\"severity\":\"CRITICAL\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": \"700, "direction": "GREATER_OR_EQUAL", "severity": "CRITICAL", "closedLoopEventStatus": "ONSET" } ] } ] } } } |
The exact details on what DCAE Policy Handler has to do be able to retrieve the policy are way to numerous and are documented in this PDF:
DCAEGEN2 architecture of policy-handling by DCAE-controller
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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 '{
"pdpGroup": "default",
"policyName": "com.MicroServicevFirewall",
"policyType": "MicroService"
}' 'https://pdp:8081/pdp/api/pushPolicy'
|
DCAE Policy Handler
Code Block |
---|
POST {"configAttributes": {}, "unique": false, "ecompName": "DCAE", "configName": ".*", "policyName": ".*vFirewall*"} # # Returns # { "policyConfigMessage": "Config Retrieved! ", "policyConfigStatus": "CONFIG_RETRIEVED", "type": "JSON", "config": "{\"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\":\\",\"closedLoopEventStatus\":\"ONSET\",\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"direction\":\"GREATER_OR_EQUAL\"}],\"policyName\":\"DCAE.Config_tca-hi-lo\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"eventName\":\"vFirewallBroadcastPackets\"}}", "policyName": "com.Config_MS_CSIT_kf0zc9b9olvs2gm_vFirewall.1.xml", ### Where did this come from?? Why isn't this com.MicroServicevFirewall?? "policyType": "MicroService", "policyVersion": "1", "matchingConditions": { "ECOMPName": "DCAE", "ONAPName": "DCAE", "ConfigName": "SampleConfigName", "service": "tca_policy", "uuid": "test", "Location": "SampleServiceLocation" }, "responseAttributes": {}, "property": null } # # The contents of the config UNESCAPED and PRETTY PRINTED # # MISSING under content: # "tca_policy": { # "domain": "measurementsForVfScaling", # "metricsPerEventName": [ # # { "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\": {\ "policyVersion\":\ "v0.0.1\",\ "threshholds\": [{\ { "severity\":\ "MAJOR\",\ "fieldPath\":\ "$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\",\ "thresholdValue\":\ "300\",\"closedLoopEventStatus\":\"ONSET\",\"closedLoopControlName\":\ "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\ "version\":\ "1.0.2\",\ "direction\":\ "LESS_OR_EQUAL\" },{\ { "severity\":\ "CRITICAL\",\ "fieldPath\":\ "$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\",\"thresholdValue\ "thresholdValue":\ "700\",\ "closedLoopEventStatus\":\ "ONSET\",\ "closedLoopControlName\":\ "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\ "version\":\ "1.0.2\",\ "direction\":\ "GREATER_OR_EQUAL\" } ],\ "policyName\":\ "DCAE.Config_tca-hi-lo\",\ "controlLoopSchemaType\":\ "VNF\",\"policyScope\":\"DCAE\",\"eventName\":\"vFirewallBroadcastPackets\"}}", "policyName": "com.Config_MS_CSIT_kf0zc9b9olvs2gm_vFirewall.1.xml", "policyTypepolicyScope": "MicroServiceDCAE", "policyVersion": "1", "matchingConditionseventName": { "ECOMPName": "DCAE", "ONAPName": "DCAE", "ConfigName": "SampleConfigName", "service": "tca_policy", "uuid": "test", "Location": "SampleServiceLocation" }, "responseAttributes": {}, "property": null } # # The contents of the config UNESCAPED and PRETTY PRINTED # { "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": { "policyVersion": "v0.0.1", "threshholds": [ {"vFirewallBroadcastPackets" } } |
Policy Lifecycle API (DRAFT Beta version for M2)
Dublin TCA DCAE mS Policy Model Schema
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 policy_types: onap.policies.Monitoring: derived_from: tosca.policies.Root description: a base policy type for all policies that govern monitoring provision onap.policy.monitoring.cdap.tca.hi.lo.app: derived_from: onap.policies.Monitoring properties: tca_policy: type: map description: TCA Policy JSON "severity": "MAJOR", default: '{"fieldPathdomain": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta", "thresholdValue": "300", "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", "version": "1.0.2", "direction": "LESS_OR_EQUAL" }, { "severity": "CRITICAL", "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta", "thresholdValue": "700", "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", "version": "1.0.2", "direction": "GREATER_OR_EQUAL" } ], "policyName": "DCAE.Config_tca-hi-lo", "controlLoopSchemaType": "VNF", "policyScope": "DCAE", "eventName": "vFirewallBroadcastPackets" } } |
Policy Lifecycle API (DRAFT Beta version for M2)
Dublin TCA DCAE mS Policy Model Schema
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 policy_types: onap.policies.Monitoring: derived_from: tosca.policies.Root description: a base policy type for all policies that govern monitoring provision onap.policy.monitoring.cdap.tca.hi.lo.app: derived_from: onap.policies.Monitoring properties: tca_policy: type: map description: TCA Policy JSON default: '{"domain":"measurementsForVfScaling","metricsPerEventName":[{"eventName":"Mfvs_eNodeB_RANKPI","controlLoopSchemaType":"VNF","policyScope":"resource=vFirewall;type=configuration","policyName":"configuration.dcae.microservice.tca.xml","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8"measurementsForVfScaling","metricsPerEventName":[{"eventName":"Mfvs_eNodeB_RANKPI","controlLoopSchemaType":"VNF","policyScope":"resource=vFirewall;type=configuration","policyName":"configuration.dcae.microservice.tca.xml","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8","closedLoopEventStatus":"ONSET","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated","thresholdValue":4000,"direction":"LESS_OR_EQUAL","severity":"MAJOR"},{"closedLoopControlName":"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09","closedLoopEventStatus":"ONSET","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated","thresholdValue":20000,"direction":"GREATER_OR_EQUAL","severity":"CRITICAL"},{"closedLoopControlName":"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09","closedLoopEventStatus":"ABATED","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated","thresholdValue":0,"direction":"EQUAL","severity":"CRITICAL"}]},{"eventName":"vLoadBalancer","controlLoopSchemaType":"VNF","policyScope":"resource=vLoadBalancer;type=configuration","policyName":"configuration.dcae.microservice.tca.xml","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A","closedLoopEventStatus":"ONSET","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated","thresholdValue":500,"direction":"LESS_OR_EQUAL","severity":"MAJOR"},{"closedLoopControlName":"CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B","closedLoopEventStatus":"ONSET","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated","thresholdValue":40005000,"direction":"LESSGREATER_OR_EQUAL","severity":"MAJORCRITICAL"},{"closedLoopControlName":"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09","closedLoopEventStatus":"ONSET","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated","thresholdValue":20000,"direction":"GREATER_OR_EQUAL","severity":"CRITICAL"},{"closedLoopControlName":"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09","closedLoopEventStatus":"ABATED","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated","thresholdValue":0,"direction":"EQUAL","severity":"CRITICAL"}]},{"eventName":"vLoadBalancer","controlLoopSchemaType":"VNF","policyScope":"resource=vLoadBalancer;type=configuration","policyName":"configuration.dcae.microservice.tca.xml","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A","closedLoopEventStatus":"ONSET","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated","thresholdValue":500,"direction":"LESS_OR_EQUAL","severity":"MAJOR"},{"closedLoopControlName":"CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B","closedLoopEventStatus":"ONSET","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated","thresholdValue":5000,"direction":"GREATER_OR_EQUAL","severity":"CRITICAL"}]}]}' }]}]}' entry_schema: type: onap.datatypes.monitoring.tca_policy data_types: onap.datatypes.monitoring.metricsPerEventName: derived_from: tosca.datatypes.Root properties: controlLoopSchemaType: type: string description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM constraints: - valid_values: - VM - VNF eventName: type: string description: Event name to which thresholds need to be applied policyName: type: string description: TCA Policy Scope Name policyScope: type: string description: TCA Policy Scope entry_schema: policyVersion: type: onap.datatypes.monitoring.tca_policy data_types: string onap.datatypes.monitoring.metricsPerEventName: derived_from: tosca.datatypes.Root description: TCA Policy Scope properties:Version controlLoopSchemaTypethresholds: type: stringlist description: SpecifiesThresholds Controlassociated Loopwith SchemaeventName Type for the entry_schema: event Name e.g. VNF, VM type: onap.datatypes.monitoring.thresholds constraintsonap.datatypes.monitoring.tca_policy: derived_from: tosca.datatypes.Root - valid_valuesproperties: domain: - VM type: string -description: VNF Domain name to which TCA needs to eventName:be applied typedefault: stringmeasurementsForVfScaling description: Event name to which thresholds need to beconstraints: - equal: appliedmeasurementsForVfScaling policyNamemetricsPerEventName: type: stringlist description: Contains TCAeventName Policyand Scopethreshold Namedetails policyScope: that need to be applied to given type: stringeventName descriptionentry_schema: TCA Policy Scope policyVersion: type: onap.datatypes.monitoring.metricsPerEventName type: string onap.datatypes.monitoring.thresholds: derived_from: tosca.datatypes.Root description: TCA Policy Scope Versionproperties: thresholdsclosedLoopControlName: type: liststring description: Thresholds Closed Loop Control Name associated with eventName entry_schema: the threshold closedLoopEventStatus: type: onap.datatypes.monitoring.thresholds onap.datatypes.monitoring.tca_policy: derived_fromtype: tosca.datatypes.Rootstring properties: description: Closed Loop Event domain:Status of the threshold typeconstraints: string description: Domain name to which TCA needs to be applied - valid_values: default:- measurementsForVfScalingONSET constraints: - ABATED - equaldirection: measurementsForVfScaling metricsPerEventNametype: string typedescription: list Direction of the threshold description: Contains eventName and threshold detailsconstraints: that need to be applied to given eventName - valid_values: - entry_schema:LESS type: onap.datatypes.monitoring.metricsPerEventName onap.datatypes.monitoring.thresholds: - LESS_OR_EQUAL derived_from: tosca.datatypes.Root properties: - GREATER closedLoopControlName: type: string- GREATER_OR_EQUAL fieldPath: description: Closed Loop Control Name associated with type: string the threshold description: Json field Path as per CEF message which closedLoopEventStatus: type: string needs to be analyzed for TCA description: Closed Loop Event Status of the threshold severity: constraintstype: string description: Threshold - valid_values:Event Severity constraints: - ONSET - valid_values: - ABATED - direction:CRITICAL type: string - MAJOR description: Direction of the threshold - MINOR constraints: - valid_values:WARNING - LESSNORMAL thresholdValue: - LESS_OR_EQUAL type: integer - GREATER description: Threshold value for the field Path inside - GREATER_OR_EQUALCEF message fieldPathversion: type: string description: JsonVersion fieldnumber Pathassociated aswith per CEF message whichthe threshold |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 imports: - tca_policy_model_dublin.yml policies: - needs to be analyzed for TCA onap.vfirewall.tca: type: onap.policy.monitoring.cdap.tca.hi.lo.app severityproperties: typedomain: stringmeasurementsForVfScaling metricsPerEventName: description: Threshold Event Severity - constraints: eventName: vLoadBalancer - valid_values: controlLoopSchemaType: VNF - CRITICALpolicyScope: "resource=vLoadBalancer;type=configuration" policyName: "onap.vfirewall.tca" # Do we need -a MAJOR name? The unique node name should be enough? - MINOR policyVersion: "v0.0.1" # This field should be removed as Policy Create/Update API will return the version - WARNING thresholds: - NORMAL - thresholdValue: type: integer closedLoopControlName: "CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A" description: Threshold value for the field PathclosedLoopEventStatus: insideONSET CEF message version: "1.0.2" version: fieldPath: "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated" type: string thresholdValue: 500 description: Version number associated with the threshold | ||||||
Code Block | ||||||
| ||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 imports: - direction: tcaLESS_policy_model_dublin.yml policies: OR_EQUAL - onap.vfirewall.tca: typeseverity: onap.policy.monitoring.cdap.tca.hi.lo.appMAJOR properties: - domain: measurementsForVfScaling metricsPerEventName: closedLoopControlName: "CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B" - closedLoopEventStatus: ONSET eventName: vLoadBalancer controlLoopSchemaTypeversion: VNF"1.0.2" policyScope: "resource=vLoadBalancer;type=configuration" policyNamefieldPath: "onap.vfirewall.tca" # Do we need a name? The unique node name should be enough? $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated" thresholdValue: 5000 policyVersion: "v0.0.1" # This field should be removed as Policy Create/Update API will return the versiondirection: GREATER_OR_EQUAL thresholds: - closedLoopControlName: "CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A" closedLoopEventStatus: ONSET version: "1.0.2" fieldPath: "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated" thresholdValue: 500 direction: LESS_OR_EQUAL severity: MAJOR - closedLoopControlName: "severity: CRITICAL |
Equivalency Table: Casablanca and Dublin APIs
(Comments pasted from API page)
In an equivalency table, this would be the same as the legacy - createPolicy and updatePolicy. Probably worth to mention for the benefit of other teams. The result would support the JSON format, so clients should expect little or no change.
This URL for POST should create a resource that we need to identify
POST
https://{url}:{port}/api/v1/policytypes/{policy type id}/versions/{version}/policies/
One proposal is to use the closedLoopControlName field:
CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A
and the version in this case:
1.0.2.
The GET for this specific one would be then
GET
https://{url}:{port}/api/v1/policytypes/{policy type id}/versions/{version}/policies/CL-LBAL-LOW-TRAFFIC-SIG-
...
FB480F95-
...
A453-
...
6F24-
...
B767-FD703241AB1A/versions/1.0.2
They can name the policies however they want. If they want to use Closed Loop Control Name go ahead. The problem with the TCA model is they shove all that detail inside the model and use arrays of Control Loops. But its up to them on how they want their model to look.