Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

vDNS (Auto Scale Out modifications)

Policy Creation

vDNS - TCA Configuration Policy Payload
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
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
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
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
# 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
# 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
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)
{
                "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
#PLD find the vserver version 


https://{aai}/aai/v11/nodes/vservers?vserver-name=dfw1lb01lb01



vDNS - A&AI vserver query response
 
vDNS DCAE Control Loop Event - Enriched A&AI
{
                "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
 
vDNS - SO Response ACCEPTED
 


vDNS - SO Response SUCCESS
 




vFirewall

Policy Creation

vFirewall - TCA Configuration Policy Payload
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
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
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



Events/API interactions

vCPE

Policy Creation

Events/API interactions

VOLTE

Policy Creation

Events/API interactions

  • No labels