- Created by Pamela Dragosh, last modified by James Hahn on Aug 21, 2018
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 22 Next »
vDNS (Auto Scale Out modifications)
Policy Creation
vDNS - TCA Configuration Policy Payload Expand source
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" }] }] }"
vDNS Create Config API Call Expand source
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 '{ "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\" }] }] } } }", "policyConfigType": "MicroService", "policyName": "com.MicroServicevCPE", "onapName": "DCAE" }' 'http://pdp:8081/pdp/api/createPolicy'
TODO - Get the payload from Marco Platania
vDNS - Operational Policy Expand source
controlLoop: version: 2.0.0 controlLoopName: ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 trigger_policy: unique-policy-id-1-scale-up timeout: 1200 abatement: false policies: - id: unique-policy-id-1-scale-up name: Scale out the VNF description: actor: SO recipe: scaleOut target: type: VNF payload: # Need to get from Marco # TODO convert to YAML "requestParameters":{ "userParams":[ { "name":"mmc", "value":"001" }, { "name":"mnc", "value":"01" }, { "name":"mme_addr", "value":"vmme_private_ip_0" }, { "name":"gtp_bind_addr", "value":"vmme_private_ip_0" }, { "name":"n_prob", "value":50 }, { "name": "vnfHostIpAddress", "value": " veb_private_ip_0" } ], "usePreload":true } retry: 0 timeout: 1200 success: final_success failure: final_failure failure_timeout: final_failure_timeout failure_retries: final_failure_retries failure_exception: final_failure_exception failure_guard: final_failure_guard
TODO - Update the HTML escaped YAML
vDNS Create Operational API Call Expand source
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 '{ "policyConfigType": "BRMS_PARAM", "policyName": "com.BRMSParamvDNS", "policyDescription": "BRMS Param vDNS policy", "policyScope": "com", "attributes": { "MATCHING": { "controller" : "amsterdam" }, "RULE": { "templateName": "ClosedLoopControlName", "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "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" } } }' 'http://pdp:8081/pdp/api/createPolicy'
vDNS Guard - Min/Max Create API Call Expand source
# PROTOTYPE - development needs to be done first 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 '{ "policyClass": "Decision", "policyName": "com.vDNS.MinMax", "policyDescription": "Ensure number of instances within a range", "ecompName": "PDPD", "ruleProvider": "GUARD_YAML", "attributes": { "MATCHING": { "actor": "SO", "recipe": "scaleOut", "targets": ".*", "clname": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "min": "1", "max": "5", "guardActiveStart": "00:00:01-05:00", "guardActiveEnd": "00:00:00-05:00" } } }' 'http://pdp:8081/pdp/api/createPolicy'
vDNS Guard - Frequency Limiter Create API Call Expand source
# DRAFT - this needs to be tested first 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 '{ "policyClass": "Decision", "policyName": "com.vDNS.Frequency", "policyDescription": "Limit vDNS Scale Up over time period", "ecompName": "PDPD", "ruleProvider": "GUARD_YAML", "attributes": { "MATCHING": { "actor": "SO", "recipe": "scaleOut", "targets": ".*", "clname": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "limit": "1", "timeWindow": "10", "timeUnits": "minute", "guardActiveStart": "00:00:01-05:00", "guardActiveEnd": "00:00:00-05:00" } } }' 'http://pdp:8081/pdp/api/createPolicy'
vDNS Push Policies API call Expand source
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 '{ "pdpGroup": "default", "policyName": "com.BRMSParamvDNS", "policyType": "BRMS_Param" }' 'http://pdp:8081/pdp/api/pushPolicy' 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 '{ "pdpGroup": "default", "policyName": "com.vDNS.MinMax", "policyType": "DECISION" }' 'http://pdp:8081/pdp/api/pushPolicy' 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 '{ "pdpGroup": "default", "policyName": "com.vDNS.Frequency", "policyType": "DECISION" }' 'http://pdp:8081/pdp/api/pushPolicy' 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 '{ "pdpGroup": "default", "policyName": "com.MicroServicevDNS", "policyType": "MicroService" }' 'http://pdp:8081/pdp/api/pushPolicy'
DCAE Events and A&AI Enrichment (if necessary)
vDNS - DCAE Control Loop Event (TCA) - vDNS (NOT Enriched with A&AI) Expand source
{ "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "policyVersion": "1.0.0.5", "policyName": "vLoadBalancer", "policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop", "target_type": "VM", "AAI": { "vserver.vserver-name": "dfw1lb01lb01" }, "closedLoopAlarmStart": 1484677482204798, "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "version": "1.0.2", "target": "vserver.vserver-name", "requestID": "97964e10-686e-4790-8c45-bdfa61df770f", "from": "DCAE" }
vDNS - A&AI vserver query Expand source
#PLD find the vserver version https://{aai}/aai/v11/nodes/vservers?vserver-name=dfw1lb01lb01
vDNS - A&AI vserver query response Expand source
{ "vserver": [ { "in-maint": false, "is-closed-loop-disabled": true, "prov-status": "ACTIVE", "relationship-list": { "relationship": [ { "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/807a3f02-f878-436b-870c-f0e91e81570d", "related-to": "generic-vnf", "related-to-property": [ { "property-key": "generic-vnf.vnf-name", "property-value": "vLoadBalancerMS-Vnf-0809-2" } ], "relationship-data": [ { "relationship-key": "generic-vnf.vnf-id", "relationship-value": "807a3f02-f878-436b-870c-f0e91e81570d" } ] }, { "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/6e219e86-cd94-4989-9119-def29aa10b12", "related-to": "image", "related-to-property": [ { "property-key": "image.image-name", "property-value": "unknown" } ], "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "RegionOne" }, { "relationship-key": "image.image-id", "relationship-value": "6e219e86-cd94-4989-9119-def29aa10b12" } ] }, { "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39", "related-to": "flavor", "related-to-property": [ { "property-key": "flavor.flavor-name", "property-value": "m1.medium" } ], "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "RegionOne" }, { "relationship-key": "flavor.flavor-id", "relationship-value": "764efb04-5a46-4806-a766-2bdd24559f39" } ] } ] }, "resource-version": "1533850964910", "vserver-id": "1c94da3f-16f1-4fc7-9ed1-e018dfa62774", "vserver-name": "vlb-ms-0809-1", "vserver-name2": "vlb-ms-0809-7", "vserver-selflink": "http://localhost:8774/v2.1/4086f396c5e04caf9502c5fdeca575c4/servers/1c94da3f-16f1-4fc7-9ed1-e018dfa62774" } ] }
vDNS DCAE Control Loop Event - Enriched A&AI Expand source
{ "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "policyVersion": "1.0.0.5", "policyName": "vLoadBalancer", "policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop", "target_type": "VM", "AAI": { "vserver.vserver-name": "dfw1lb01lb01" # TODO - add in the enriched A&AI }, "closedLoopAlarmStart": 1484677482204798, "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "version": "1.0.2", "target": "vserver.vserver-name", "requestID": "97964e10-686e-4790-8c45-bdfa61df770f", "from": "DCAE" }
SO API Interaction
vDNS - SO Request Expand source
TODO - this is new work
vDNS - SO Response ACCEPTED Expand source
TODO - this is new work
vDNS - SO Response SUCCESS Expand source
TODO - this is new work
vFirewall
Policy Creation
vFirewall - TCA Configuration Policy Payload Expand source
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" } ] } ] }"
vFirewall - Create Config Policy Expand source
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 '{ "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" }' 'http://pdp:8081/pdp/api/createPolicy'
vFirewall - Operational Policy Expand source
controlLoop: version: 2.0.0 controlLoopName: ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a trigger_policy: unique-policy-id-1-modifyConfig timeout: 1200 abatement: false policies: - id: unique-policy-id-1-modifyConfig name: modify packet gen config description: actor: APPC recipe: ModifyConfig target: # TBD - Cannot be known until instantiation is done resourceID: Eace933104d443b496b8.nodes.heat.vpg type: VNF retry: 0 timeout: 300 success: final_success failure: final_failure failure_timeout: final_failure_timeout failure_retries: final_failure_retries failure_exception: final_failure_exception failure_guard: final_failure_guard
vFirewall - Create Operational Policy Expand source
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 '{ "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" }' 'http://pdp:8081/pdp/api/createPolicy'
vFirewall - Push Policies Expand source
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 '{ "pdpGroup": "default", "policyName": "com.BRMSParamvFirewall", "policyType": "BRMS_Param" }' 'http://pdp:8081/pdp/api/pushPolicy' 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 '{ "pdpGroup": "default", "policyName": "com.MicroServicevFirewall", "policyType": "MicroService" }' 'http://pdp:8081/pdp/api/pushPolicy'
DCAE Events and A&AI Enrichment (if necessary)
vFirewall - DCAE Control Loop Event (NOT enriched with A&AI) Expand source
{ "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "policyVersion": "1.0.0.5", "policyName": "vFirewall", "policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop", "target_type": "VNF", "AAI": { "generic-vnf.vnf-name": "zdfw1fwl01fwl02" }, "closedLoopAlarmStart": 1484855291527925, "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", "version": "1.0.2", "target": "generic-vnf.vnf-name", "requestID": "8c1b8bd8-06f7-493f-8ed7-daaa4cc481bc", "from": "DCAE" }
vFirewall - A&AI generic-vnf query Expand source
https://{aai}/aai/v11/network/generic-vnfs/generic-vnf?vnf-name=zdfw1fwl01fwl02
vFirewall - A&AI generic-vnf query response Expand source
{ "vnf-id": "4e46ad6c-cebe-4460-858e-b5806883271b", "vnf-name": "vfw7f5a57d6", "vnf-type": "da818f33-97e1-4edf-98a5/5759f208-b75c-4b35-9599 0", "service-id": "a322c144-537c-4532-bf1b-0a4889083388", "prov-status": "PREPROV", "orchestration-status": "Created", "in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1521467089262", "model-invariant-id": "a1efbbdd-2077-4b86-9fc0-244af99760f0", "model-version-id": "34c3221b-1326-4f35-9ed7-6f2f7e59d788", "model-customization-id": "1798c9a9-eaae-438f-bac3-b013599e8909", "nf-type": "", "nf-function": "", "nf-role": "", "nf-naming-code": "", "relationship-list": { "relationship": [ { "related-to": "service-instance", "related-link": "/aai/v11/business/customers/customer/DemoCust_7d454ef5-f5ea-4346-b2d3-e9797f5a57d6/service-subscriptions/service-subscription/vFW/service-instances/service-instance/7c45e4f7-aa7a-4130-9ee3-c5c1d81840df", "relationship-data": [ { "relationship-key": "customer.global-customer-id", "relationship-value": "DemoCust_7d454ef5-f5ea-4346-b2d3-e9797f5a57d6" }, { "relationship-key": "service-subscription.service-type", "relationship-value": "vFW" }, { "relationship-key": "service-instance.service-instance-id", "relationship-value": "7c45e4f7-aa7a-4130-9ee3-c5c1d81840df" } ], "related-to-property": [ { "property-key": "service-instance.service-instance-name", "property-value": "Service_Ete_Name7d454ef5-f5ea-4346-b2d3-e9797f5a57d6" } ] }, { "related-to": "vserver", "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/50b190410b2a4c229d8a6044a80ab7c1/vservers/vserver/3f3f3c72-269d-45e6-8953-692424f2df1f", "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "RegionOne" }, { "relationship-key": "tenant.tenant-id", "relationship-value": "50b190410b2a4c229d8a6044a80ab7c1" }, { "relationship-key": "vserver.vserver-id", "relationship-value": "3f3f3c72-269d-45e6-8953-692424f2df1f" } ], "related-to-property": [ { "property-key": "vserver.vserver-name", "property-value": "demofwl01pgn" } ] }, { "related-to": "vserver", "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/50b190410b2a4c229d8a6044a80ab7c1/vservers/vserver/4c45d0a4-a873-4d95-87ca-2a198322c9c4", "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "RegionOne" }, { "relationship-key": "tenant.tenant-id", "relationship-value": "50b190410b2a4c229d8a6044a80ab7c1" }, { "relationship-key": "vserver.vserver-id", "relationship-value": "4c45d0a4-a873-4d95-87ca-2a198322c9c4" } ], "related-to-property": [ { "property-key": "vserver.vserver-name", "property-value": "demofwl01snk" } ] }, { "related-to": "vserver", "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/50b190410b2a4c229d8a6044a80ab7c1/vservers/vserver/b96416ef-fc4e-49cb-8120-1d56686d2e90", "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "RegionOne" }, { "relationship-key": "tenant.tenant-id", "relationship-value": "50b190410b2a4c229d8a6044a80ab7c1" }, { "relationship-key": "vserver.vserver-id", "relationship-value": "b96416ef-fc4e-49cb-8120-1d56686d2e90" } ], "related-to-property": [ { "property-key": "vserver.vserver-name", "property-value": "vfw7f5a57d6" } ] } ] } }
APPC API Interaction
vFirewall - APPC Request Expand source
{ "CommonHeader": { "TimeStamp": 1500997725298, "APIver": "1.01", "RequestID": "664be3d2-6c12-4f4b-a3e7-c349acced200", "RequestTrack": [], "Flags": [] }, "Action": "ModifyConfig", "Payload": { "generic-vnf.vnf-id": "fw0001vm001fw001", "pg-streams": { "pg-stream": [ { "id": "fw_udp1", "is-enabled": "true" }, { "id": "fw_udp2", "is-enabled": "true" }, { "id": "fw_udp3", "is-enabled": "true" }, { "id": "fw_udp4", "is-enabled": "true" }, { "id": "fw_udp5", "is-enabled": "true" }] } } }
vFirewall - APPC Responses Expand source
ACCEPT response { "Status": { "Value": "ACCEPTED", "Code": "100" }, "Payload": { "pg-streams": "{\\\"pg-streams\\\": {\\\"pg-stream\\\":[{\\\"id\\\":\\\"fw_udp1\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp2\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp3\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp4\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp5\\\", \\\"is-enabled\\\":\\\"true\\\"}]}}", "generic-vnf.vnf-id": "fw0001vm001fw001" }, "CommonHeader": { "TimeStamp": "1493841850199", "APIver": "1.01", "RequestID": "664be3d2-6c12-4f4b-a3e7-c349acced200", "SubrequestID": null, "OriginatorID": null } } SUCCESS response { "Status": { "Value": "SUCCESS", "Code": "400" }, "Payload": { "pg-streams": "{\\\"pg-streams\\\": {\\\"pg-stream\\\":[{\\\"id\\\":\\\"fw_udp1\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp2\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp3\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp4\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp5\\\", \\\"is-enabled\\\":\\\"true\\\"}]}}", "generic-vnf.vnf-id": "fw0001vm001fw001" }, "CommonHeader": { "TimeStamp": "1493841850199", "APIver": "1.01", "RequestID": "664be3d2-6c12-4f4b-a3e7-c349acced200", "SubrequestID": null, "OriginatorID": null } } TODO FAILED response
vCPE
Policy Creation and Pushing
vCPE - TCA Configuration Policy Payload Expand source
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" }] }] }"
vCPE - Create Config Policy Expand source
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 '{ "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\" }] }] } } }", "policyConfigType": "MicroService", "policyName": "com.MicroServicevCPE", "onapName": "DCAE" }' 'http://pdp:8081/pdp/api/createPolicy'
vCPE Operational Policy Expand source
controlLoop: version: 2.0.0 controlLoopName: ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e trigger_policy: unique-policy-id-1-restart timeout: 3600 abatement: true policies: - id: unique-policy-id-1-restart name: Restart the VM description: actor: APPC recipe: Restart target: type: VM retry: 3 timeout: 1200 success: final_success failure: final_failure failure_timeout: final_failure_timeout failure_retries: final_failure_retries failure_exception: final_failure_exception failure_guard: final_failure_guard
vCPE - Create Operational Policy Expand source
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 '{ "policyConfigType": "BRMS_PARAM", "policyName": "com.BRMSParamvCPE", "policyDescription": "BRMS Param vCPE policy", "policyScope": "com", "attributes": { "MATCHING": { "controller" : "amsterdam" }, "RULE": { "templateName": "ClosedLoopControlName", "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "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" } } }' 'http://pdp:8081/pdp/api/createPolicy'
vCPE - Push Policies Expand source
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 '{ "pdpGroup": "default", "policyName": "com.BRMSParamvCPE", "policyType": "BRMS_Param" }' 'http://pdp:8081/pdp/api/pushPolicy' 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 '{ "pdpGroup": "default", "policyName": "com.MicroServicevCPE", "policyType": "MicroService" }' 'http://pdp:8081/pdp/api/pushPolicy'
DCAE Events and A&AI Enrichment (if necessary)
vCPE - DCAE Control Loop Event (TCA) - NOT Enriched Expand source
{ "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "version": "1.0.2", "requestID": "0abc0000-b032-4e4b-bd30-88260f444888", "closedLoopAlarmStart": 1478189220547, "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "target_type": "VNF", "target": "generic-vnf.vnf-name", "AAI": { "generic-vnf.vnf-name" : "vCPE_Infrastructure_vGMUX_demo_app" }, "from": "DCAE", "policyScope": "DCAE", "policyName": "DCAE.Config_tca-hi-lo", "policyVersion": "v0.0.1", "closedLoopEventStatus": "ONSET" }
vCPE - A&AI generic-vnf query Expand source
vCPE - A&AI generic-vnf query response Expand source
vCPE - DCAE Control Loop Event (TCA) - A&AI Enriched Expand source
DCAE ABATED Control Loop Event Expand source
{ "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "version": "1.0.2", "requestID": "0abc0000-b032-4e4b-bd30-88260f444888", "closedLoopAlarmStart": 1478189220547, "closedLoopAlarmEnd": 1478589220547, "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "target_type": "VNF", "target": "generic-vnf.vnf-name", "AAI": { "generic-vnf.vnf-name" : "vCPE_Infrastructure_vGMUX_demo_app" }, "from": "DCAE", "policyScope": "DCAE", "policyName": "DCAE.Config_tca-hi-lo", "policyVersion": "v0.0.1", "closedLoopEventStatus": "ABATED" }
APPC API Interaction
APPC request Expand source
{ "body": { "input": { "common-header": { "timestamp": "2017-08-25T21:06:23.037Z", "api-ver": "2.00", "originator-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "request-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "sub-request-id": "1", "flags": {} }, "action": "Restart", "action-identifiers": { "vnf-id": "vCPE_Infrastructure_vGMUX_demo_app" } } }, "version": "2.0", "rpc-name": "restart", "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1", "type": "request" }
APPC response Expand source
{ "body": { "output": { "common-header": { "timestamp": "2017-08-25T21:06:23.037Z", "api-ver": "2.00", "originator-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "request-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "sub-request-id": "1", "flags": {} }, "status": { "code": 400, "message": "Restart Successful" } } }, "version": "2.00", "rpc-name": "restart", "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1", "type": "response" }
VOLTE
Policy Creation
NOTE: VOLTE Configuration Policy for Holmes does not exist. This gap should be addressed in the future.
VOLTE - Operational Policy Expand source
controlLoop: version: 2.0.0 controlLoopName: ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b trigger_policy: unique-policy-id-1-restart timeout: 3600 abatement: false policies: - id: unique-policy-id-1-restart name: Restart the VM description: actor: VFC recipe: Restart target: type: VM retry: 3 timeout: 1200 success: final_success failure: final_failure failure_timeout: final_failure_timeout failure_retries: final_failure_retries failure_exception: final_failure_exception failure_guard: final_failure_guard
VOLTE - Create Operational Policy Expand source
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 '{ "policyConfigType": "BRMS_PARAM", "policyName": "com.BRMSParamVOLTE", "policyDescription": "BRMS Param VOLTE policy", "policyScope": "com", "attributes": { "MATCHING": { "controller" : "amsterdam" }, "RULE": { "templateName": "ClosedLoopControlName", "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b", "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" } } }' 'http://pdp:8081/pdp/api/createPolicy'
VOLTE - Push Operational Policy Expand source
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 '{ "pdpGroup": "default", "policyName": "com.BRMSParamVOLTE", "policyType": "BRMS_Param" }' 'http://pdp:8081/pdp/api/pushPolicy'
DCAE Events and A&AI Enrichment (if necessary)
DCAE Control Loop Event (HOLMES) - VOLTE Expand source
{ "closedLoopEventClient": "DCAE.HolmesInstance", "policyVersion": "1.0.0.5", "policyName": "vVOLTE", "policyScope": "resource=volte,service=VolteSErvice,type=SampleType,closedLoopControlName=CL-VOLTE-SIG-d925ed73-8231-4d02-9545-db4e101f88f8", "target_type": "VM", "AAI": { "vserver.vserver-name": "dfw1lb01lb01", "service-instance.service-instance-id" : "TBD", "generic-vnf.vnf-id" : "TBD", "generic-vnf.vnf-name" : "TBD" }, "closedLoopAlarmStart": 1484677482204798, "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b", "version": "1.0.2", "target": "vserver.vserver-name", "requestID": "97964e10-686e-4790-8c45-bdfa61df770f", "from": "DCAE" }
A&AI Call Expand source
This call is a simple GET in order to retrieve "is-closed-loop-diable" flag.
A&AI Response Expand source
Below is a sample GET response format. Field values are just examples. Will update to real values later. { "vnf-id": "5e49ca06-2972-4532-9ed4-6d071588d792", "vnf-name": "USUCP0PCOIL0110UJRT01", "vnf-type": "RT", "service-id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "equipment-role": "UCPE", "orchestration-status": "created", "management-option": "ATT", "ipv4-oam-address": "32.40.68.35", "ipv4-loopback0-address": "32.40.64.57", "nm-lan-v6-address": "2001:1890:e00e:fffe::1345", "management-v6-address": "2001:1890:e00e:fffd::36", "in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1493389458092", "relationship-list": {"relationship": [ { "related-to": "service-instance", "related-link": "https://aai-int1.test.att.com:8443/aai/v9/business/customers/customer/1610_Func_Global_20160817084727/service-subscriptions/service-subscription/uCPE-VMS/service-instances/service-instance/USUCP0PCOIL0110UJZZ01", "relationship-data": [ { "relationship-key": "customer.global-customer-id", "relationship-value": "1610_Func_Global_20160817084727" }, { "relationship-key": "service-subscription.service-type", "relationship-value": "uCPE-VMS" }, { "relationship-key": "service-instance.service-instance-id", "relationship-value": "USUCP0PCOIL0110UJZZ01" } ], "related-to-property": [{"property-key": "service-instance.service-instance-name"}] }, { "related-to": "vserver", "related-link": "https://aai-int1.test.att.com:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/USUCP0PCOIL0110UJZZ01%3A%3AuCPE-VMS/vservers/vserver/3b2558f4-39d8-40e7-bfc7-30660fb52c45", "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "att-aic" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "AAIAIC25" }, { "relationship-key": "tenant.tenant-id", "relationship-value": "USUCP0PCOIL0110UJZZ01::uCPE-VMS" }, { "relationship-key": "vserver.vserver-id", "relationship-value": "3b2558f4-39d8-40e7-bfc7-30660fb52c45" } ], "related-to-property": [ { "property-key": "vserver.vserver-name", "property-value": "USUCP0PCOIL0110UJZZ01-vsrx" }] } ]} }
VFC API Interaction
CCVPN
Policy Creation
DCAE Events and A&AI Enrichment (if necessary)
VFC API Interaction
- No labels