Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated Table 2 to better indicate json hierarchy; linked Gerrit, Sonar, JIRA tbsl; fixed formatting in VES samples

...

  • Enhance TCA app to support R1 vCPE use case (requires new configuration model)
    • also needs to support the ONAP R1R1 vFW, vDNS/vLB use cases
      • unchanged from R0 DCAE analytics perspective; primary difference is the deployment of the TCA app is via CLAMP and the new DCAE controller

Gerrit:

Sonar:

Jira:

  • tbsl

Detailed Description:

This CDAP application is driven by the VES collector which outputs to Message Router.  This Message Router topic is the source for the CDAP application which will read each incoming message. If a message meets the Common Event Format (CEF, v28.3) as specified by the VES 5.3 standard (AttServiceSpecification-VesEventListener-v5.3.docx, Rev: 5.3, 6/22/17), it will be parsed and if it contains a message which matches the policy configuration for a given metric (denoted primarily by the "eventName" (NEW, 8/25/17) and the "fieldPath"), the value of the metric will be compared to the "thresholdValue".  If that comparison indicates that a Control Loop Event Message should be generated, the application will output the alarm to the Message Router Sink topic in a format that matches the interface spec defined in the ONAP Control Loop Operational Policy (see section titled "Control Loop Event Messages").

...

Sample 1 - Sample data for vFW and vDNS use cases; ves5 downloadable: ves5.3-measurement-vf5vdns.txt

Code Block
languagejava
titleves5.3-measurement-vf5vdns.txt

...

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

linenumberstrue
collapsetrue
{
    

...

"event":

...

 {
        "commonEventHeader":

...

 {
            "startEpochMicrosec": 1500584201765465,

...


            "sourceId": "Dummy VM UUID - No Metadata available",

...


            "eventId": "11",

...


            "reportingEntityId": "No UUID available",

...


            "internalHeaderFields":

...

 {
                "collectorTimeStamp": "Thu, 07 20 2017 08:56:52 GMT"

...


            },
            "eventType": "HTTP request rate",

...


            "priority": "Normal",

...


            "version": 1.2,

...


            "reportingEntityName": "fwll",

...


            "sequence": 11,

...


            "domain": "measurementsForVfScaling",

...


            "lastEpochMicrosec": 1500584212017216,

...


            "eventName": "vnfScalingMeasurement",

...


            "sourceName": "Dummy VM name - No Metadata available"
        },
        "measurementsForVfScalingFields":

...

 {
            "cpuUsageArray": [{

...


                "percentUsage": 0,

...


                "cpuIdentifier": "cpu1",

...


                "cpuIdle": 100,
                "cpuUsageSystem": 0,

...


                "cpuUsageUser":

...

 0
            }],

...


            "measurementInterval": 10,

...


            "requestRate": 7832,

...


            "vNicUsageArray": [{

...


                "transmittedOctetsDelta": 5680,

...


                "receivedTotalPacketsDelta": 14,

...


                "vNicIdentifier": "eth0",

...


                "valuesAreSuspect": "true",

...


                "transmittedTotalPacketsDelta": 31,
                "receivedOctetsDelta":

...

 1332
            }],

...


            "measurementsForVfScalingVersion": 2.1

...


        }
    }
}






Sample 2 - Sample data for general VES 5.3 use cases; downloadable: VES-5.3-measurement-mockup.txt

Code Block
languagejava
titleVES-5.3-measurement-mockup.txt

...

linenumberstrue
collapsetrue
{
    "event":
    {
        "measurementsForVfScalingFields":
        {
            "measurementInterval":5,
            "meanRequestLatency":0,
            "additionalMeasurements":
            [
                {
                    "arrayOfFields":
                    [
                        {"

...

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179

...

name":"jvm.maxHeapSize", "value":"1040064" },

...


                        {"name":"jvm.peak.cpu", "value":"2.00

...

" },
                        {"name":"jvm.usedMemory", "value":"284089"},

...


                        {"name":"jvm.freeMemory","value":"755975"},

...


                        {"name":"jvm.average.cpu","value":"0.41"}

...


                    ],
                    "name":"virc-jvm

...

"
                },
                {
                    "arrayOfFields":
                    [
                        {"name":"average.caps","value":"0.00"},

...


                        {"name":"mrf.numOfPlayedAnns","value":"0"},

...


                        {"name":"numOfSipServletErrors","value":"0"},

...


                        {"name":"numOfBlockOnMaxForwards","value":"0"},

...


                        {"name":"numOfBlockOnInvalidNumber","value":"0"},

...


                        {"name":"mrf.numOfFailuresOnNoAvailableMrf","value":"0"},

...


                        {"name":"mrf.numOfNotFoundAnns","value":"0

...

"},
                        {"name":"dns.numOfSuccessfulDnsQueries","value":"0"},

...


                        {"name":"numOfCallAttempts","value":"0"},

...


                        {"name":"dns.numOfFailedDnsQueries","value":"0"}

...


                    ],
                    "name":"virc-cc-generic

...

"
                },
                {
                    "arrayOfFields":
                    [
                        {"name":"ccf.numOfAbnormalRfSessions","value":"0"},

...


                        {"name":"ccf.average.tps","value":"0.00"},

...


                        {"name":"ccf.low.tps","value":"0.00"},

...


                        {"name":"ccf.numOfDroppedAcrDueToBufferOverflow","value":"0"},

...


                        {"name":"ccf.numOfResentAcr","value":"0"},

...


                        {"name":"ccf.numOfFailedNotResentAcr","value":"0"},

...


                        {"name":"ccf.peak.tps","value":"0.00"},

...


                        {"name":"ccf.numOfActiveRfSessions","value":"14"}

...


                    ],
                    "name":"virc-cc-ccf"

...


                },
                {
                    "arrayOfFields":
                    [
                        {"name":"inb.numOfCallReattemptsOnBgcfRouteAdvance","value":"0"},

...


                        {"name":"inb.average.call.block.latency",

...

"value":"0.00"},
                        {"name":"inb.numOfCallReattemptsOnBgcfNoAnswer","value":"0"},

...


                        {"name":"inb.average.call.setup.latency","value":"0.00"},

...


                        {"name":"inb.numOfCancelledCalls","value":"0"},

...


                        {"name":"inb.numOfBlockOnNpaNxxXxxxScreening","value":"0"},

...


                        {"name":"inb.numOfIncomingCalls","value":"0"},

...


                        {"name":"inb.numOfBlockOnOperatorCallScreening","value":"0"},

...


                        {"name":"inb.numOfAnsweredCalls

...

","value":"0"},
                        {"name":"inb.numOfBlockOnFailedSiDerivation","value":"0"},

...


                        {"name":"inb.numOfBlockOnOrigCarrierScreening","value":"0"},

...


                        {"name":"inb.concurrentCalls","value":"0"},

...


                        {"name":"inb.numOfBlockOnSrvOrigDestScreening","value":"0"},

...


                        {"name":"inb.numOfFailedCalls","value":"0"},

...


                        {"name":"inb.average.caps","value":"0.00"},

...


                        {"name":"inb.numOfBlockOnNoAvailableBgcf","value":"0"},

...


                        {"name":"inb.peak.caps","value":"0.00"}

...


                    ],
                    "name":"virc-cc-inbound"

...


                },
                {
                    "arrayOfFields":
                    [
                        {"name":"outb.numOfCallReAttemptsOnBgcfNoAnswer","value":"0"},

...


                        {"name":"outb.numOfBlockOnAdcScreening","value":"0"},

...


                        {"name":"outb.dom.numOfFailedCalls","value":"0"},

...


                        {"name":"outb.average.call.block.latency","value":"0.00"},

...


                        {"name":"outb.average.caps","value":"0.00"},

...


                        {"name":"outb.dom.numOfAnsweredCalls

...

","value":"0"},
                        {"name":"outb.dom.numOfCancelledCalls","value":"0"},

...


                        {"name":"outb.numOfDestNumberPrefixManipulations","value":"0"},

...


                        {"name":"outb.transit.numOfCancelledCalls","value":"0"},

...


                        {"name":"outb.numOfBlockOnOrigCarrierScreening","value":"0"},

...


                        {"name":"outb.numOfBlockOnCspDetermination","value":"0"},

...


                        {"name":"outb.numOfNationalNumberManipulations","value":"0"},

...


                        {"name":"outb.numOfBlockOnCountryCodeScreening

...

","value":"0"},
                        {"name":"outb.average.call.setup.latency","value":"0.00"},

...


                        {"name":"outb.numOfCallReAttemptsOnBgcfRouteAdvance","value":"0"},

...


                        {"name":"outb.numOfInterCarrierCallReattempts","value":"0"},

...


                        {"name":"outb.dom.numOfIncomingCalls","value":"0"},

...


                        {"name":"outb.numOfCliAnonymization","value":"0"},

...


                        {"name":"outb.numOfBlockOnLeadingZeroScreening","value":"0"},

...


                        {"name":"outb.concurrentCalls

...

","value":"0"},
                        {"name":"outb.numOfBlockOnNoAvailableBgcf","value":"0"},

...


                        {"name":"outb.peak.caps","value":"0.00"},

...


                        {"name":"outb.numOfBlockOnFailedDcgDetermination","value":"0"},

...


                        {"name":"outb.transit.numOfAnsweredCalls","value":"0"},

...


                        {"name":"outb.numOfBlockOnFailedSiDerivation","value":"0"},

...


                        {"name":"outb.transit.numOfIncomingCalls","value":"0"},

...


                        {"name":"outb.numOfIntraCarrierCallReattempts","value

...

":"0"},
                        {"name":"outb.transit.numOfFailedCalls","value":"0"},

...


                        {"name":"outb.numOfBlockOnSrvOrigDestScreening","value":"0"}

...


                    ],
                    "name":"

...

virc-cc-outbound"
                },
                {
                    "arrayOfFields":
                    [
                        {"name":"out.request.update","value":"0"},

...


                        {"name":"out.request.info","value":"0"},

...


                        {"name":"in.request.publish","value":"0"},

...


                        {"name":"in.request.ack

...

","value":"0"},
                        {"name":"in.request.options","value":"0"},

...


                        {"name":"out.request.ack","value":"0"},

...


                        {"name":"in.request.invite","value":"0"},

...


                        {"name":"in.request.refer","value":"0"},

...


                        {"name":"out.request.subscribe","value":"0"},

...


                        {"name":"in.request.subscribe","value":"0"},

...


                        {"name":"out.request.message

...

","value":"0"},
                        {"name":"in.request.info","value":"0"},

...


                        {"name":"out.request.notify","value":"0"},

...


                        {"name":"in.request.prack","value":"0"},

...


                        {"name":"in.response.1xx","value":"0"},

...


                        {"name":"in.request.notify","value":"0"},

...


                        {"name":"out.response.5xx","value":"0"},

...


                        {"name":"out.response.6xx

...

","value":"0"},
                        {"name":"in.response.3xx","value":"0"},

...


                        {"name":"in.response.2xx","value":"0"},

...


                        {"name":"active.sip.sessions","value":"0"},

...


                        {"name":"in.request.cancel","value":"0"},

...


                        {"name":"out.request.bye","value":"0"},

...


                        {"name":"out.request.prack","value":"0"},

...


                        {"name":"out.response.1xx

...

","value":"0"},
                        {"name":"out.response.2xx","value":"0"},

...


                        {"name":"in.request.register","value":"0"},

...


                        {"name":"in.request.bye","value":"0"},

...


                        {"name":"out.response.3xx","value":"0"},

...


                        {"name":"out.response.4xx","value":"0"},

...


                        {"name":"out.request.publish","value":"0"},

...


                        {"name":"out.request.options

...

","value":"0"},
                        {"name":"out.request.invite","value":"0"},

...


                        {"name":"out.request.refer","value":"0"},

...


                        {"name":"out.request.register","value":"0"},

...


                        {"name":"in.request.update","value":"0"},

...


                        {"name":"in.response.5xx","value":"0"},

...


                        {"name":"in.response.4xx","value":"0"},

...


                        {"name":"in.request.message","value

...

":"0"},
                        {"name":"out.request.cancel","value":"0"},

...


                        {"name":"in.response.6xx","value":"0"}

...


                    ],
                    "name":"virc-cc-sip"

...


                }
            ],
            "concurrentSessions":0,

...


            "measurementsForVfScalingVersion":

...

 2
        },
        "commonEventHeader":

...


        {
            "reportingEntityName":"ircc0002vm049cca001

...

",
            "startEpochMicrosec":1496235300000000,

...


            "lastEpochMicrosec":1496235600000000,

...


            "eventId":"3409",

...


            "sourceName":"ircc0002vm049cca001",

...


            "sequence":0,

...


            "priority":"Normal",

...


            "domain":"

...

measurementsForVfScaling",
            "internalHeaderFields":
            {
                "collectorTimeStamp":"Wed, 05 31 2017 01:00:01 GMT"

...


            },
            "eventType":"Mfvs_ircc_cca",

...


            "eventName":"Mfvs

...

_ircc",
               "version" : 3.0
        }
    }
}



Anchor
ControlLoopEventMessage
ControlLoopEventMessage

...

MR Interface - Sink (

...

aka Control Loop Event Message)

The output TCA alert format is constructed as shown in Table 1.  The description field below is copied from the Control Loop Event Message section here.


Anchor
OutputAlertFormat
OutputAlertFormat
Table 1: Format of the Output Alert from the cdap-tca-hi-lo Microservice

JSON Field

JSON sub-field

Populate Using

Description

{   


closedLoopControlName 

closedLoopControlName included in the DCAE configuration Policy

The unique ID for the Control Loop. It is created by the CLAMP platform during Control Loop design.

The DCAE Micro service that publishes this event structure MUST include this ID.

version 

version included in the DCAE configuration Policy

The version of the Control Loop event message. Should be '1.0.2'.
requestID 

Generate a UUID for this output message

For the control loop, when an instance of the Control Loop occurs, this unique ID must be created. The same ID

must be forwarded for both the ONSET and the ABATED control loop messages.

closedLoopAlarmStart 
commonEventHeader.startEpochMicrosec from the received VES measurementsForVfScaling messageWhen the alarm was first detected.
closedLoopEventClient 
Concatenate name of this DCAE instance and name for this TCA instance, separated by "."For monitoring/logging/auditing purposes, if there is an instance ID of the DCAE micro service this field should be populated with it.
target_type 
"VNF"The type of the target: VM or VNF. Future PNF(?).
target 
"generic-vnf.vnf-id" or "vserver.vserver-name"

This is the name of the field within the A&AI sub-tag that indicates the actual entity Node details. There should be a matching node field within the A&AI subtag holding this value.

AAI{ 
Contains the A&AI Node-Attribute list. 

generic-vnf.vnf-id

commonEventHeader.reportingEntityName from the received VES measurementsForVfScaling message (value for the data element used in A&AI)

  

)



}  

from 
"DCAE"The ONAP platform component publishing this message. If DCAE, then it should be 'DCAE'.
policyScope 
policyScope included in the DCAE configuration PolicyThe version of the Policy driving the DCAE Micro service. Should be a part of the configuration policy setup by CLAMP and passed by DCAE controller.
policyName 
policyName included in the DCAE configuration PolicyThe version of the Policy driving the DCAE Micro service. Should be a part of the configuration policy setup by CLAMP and passed by DCAE controller.
policyVersion 
policyVersion included in the DCAE configuration PolicyThe version of the Policy driving the DCAE Micro service. Should be a part of the configuration policy setup by CLAMP and passed by DCAE controller.
closedLoopEventStatus 
"ONSET"

 

 


For the vFW demo, a sample output alert sent to MR is as shown in Sample 3.  Note, this output will correspond to a control loop where the config policy contains:

  • "controlLoopSchemaType":  "VNF" 

...


Anchor
SampleControlLoopMsgvFW
SampleControlLoopMsgvFW
Sample 3 - Sample Control Loop Event Message for vFW demo, "controlLoopSchemaType":  "VNF"

Expand

{
"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-id": "zdfw1fwl01fwl02" }

,
"closedLoopAlarmStart": 1484855291527925,
"closedLoopEventStatus": "ONSET",
"closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
"version": "1.0.2",
"target": "generic-vnf.vnf-id",
"requestID": "8c1b8bd8-06f7-493f-8ed7-daaa4cc481bc",
"from": "DCAE"
}

 



For the vDNS/vLB demo, per UCA-7, in ONAP R0, the output alert sent to MR was modified to be as shown in Sample 4.  This same output format is expected in ONAP R1 and it will be accompanied by a control loop where the config policy contains:

  • "controlLoopSchemaType":  "VM"


Anchor
SampleControlLoopMsgvDNS

...

SampleControlLoopMsgvDNS
Sample 4 - Sample Control Loop Event Message for vDNS/vLB demo, "controlLoopSchemaType":  "VM"

Expand

{

"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": 1484855074322720,

"closedLoopEventStatus": "ONSET",

"closedLoopControlName": "CL-DNS-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",

"version": "1.0.2",

"target": "vserver.vserver-name",

"requestID": "8e9bc97e-795c-4195-820a-45a53a1db947",

"from": "DCAE"

}

...


In both cases, the value of the fields, generic-vnf.vnf-id and vserver.vserver-name, is constructed from the incoming VES measurementsForVfScaling message received from the upstream collector in the field: commonEventHeader.reportingEntityName. 


Policy Interface

In the Data Flow Diagram, v1 - Flow 3c, the Policy Interface described here is shown in Flow 3c.  This is how the application gets its policy config, whether it comes at deployment and instantiation time via an ASDC blueprint (Flow 2a), or, in later releases, based on being reconfigured by CLAMP via Policy, Flow 3a+3b.

The configurable properties that are exposed on the cdap-tca-hi-lo policy interface are shown in Table 2.


Table 2: Configurable Properties Exposed through the Policy Interface

JSON FieldJSON sub-fieldJSON sub-fieldDescriptionNotes
{
   




domain
 


the domain datatype of the VES messageMust be measurementsForVfScaling
metricsPerEventName[ {
an array that describes parameters associating a closed loop flow to the policy governing this TCA instance
  


eventName
a unique identifier that represents an event name that this TCA instance will act onFrom VES 5.3 spec: 

"It should be understood that events are well structured packages of information, identified by an eventName, which are asynchronously communicated to subscribers who are interested in the eventName.  Events can convey measurements, faults, syslogs, threshold crossing alerts and others types of information.  Events are simply a way of communicating well-structured packages of information to one or more instances of an Event Listener service."

 

controlLoopSchemaType
this is a field which will be used to derive the schema of the Control Loop Event MessageValid values for the Amsterdam release:  VM | VNF
 

policyScope
the scope of this policy message
   


policyName
a name identifying this policy message
 


policyVersion
a version identifying this policy message
  thresholds


thresholds[{an array of one or more thresholds that are managed as part of a given closed loop
 
 



closedLoopControlNamethe name that specifies which control loop this TCA instance is a part of
  



versionthe version of the control loop
  



fieldPatha value used to derive the metric within VES message that this TCA will apply toexpected to be part of a measurementsForVfScaling domain event message
 


thresholdValuethe value of the metric which will trigger this thresholdmust be numeric
 


direction
   
Direction of the thresholdvalid values: LESS | LESS_OR_EQUAL | GREATER | GREATER_OR_EQUAL


severityan identifier specifying the precendence of this threshold evalution; thresholds will be evaluated from highest severity (CRITICAL) to lowest (NORMAL); a given VES message will only trigger one threshold
expected
valid values: CRITICAL | MAJOR | MINOR | WARNING| NORMAL
 


closedLoopEventStatusan identifier used to describe whether this threshold should be associated with a control loop ONSET action or whether it would describe a condition that indicates such a condition has ended (i.e. the condition
has ABATED).  Note that ABATED alerts will be correlated to ONSET events based on the following key fields.
has ABATED).  Note that ABATED alerts will be correlated to ONSET events based on the following key fields (9/11/17, TODO:  add key fields here)valid values:  ONSET | ABATED


}, { },...]One or more thresholds may be defined; as noted above they will be evaluated based on severity; thresholds with closedLoopEventStatus of ABATED will be evaluated prior to ONSET thresholds

}, { }, ...]
One or more metricsPerEventName definitions may be provided to a TCA instance
expected values:  ONSET | ABATED

As compared to the ONAP R0 release where the configuration policy was flattened into a series of key-value pairs, in the ONAP R1 release, such config info will be passed from the controller to the CDAP app as a complex json object.  A design goal for creating the schema for this policy model was to insure that the model was extensible so that a single instance of TCA could handle one or more use cases without alteration to the schema.  That said, for the Amsterdam/ONAP R1 release, we are expecting to have a single instance of TCA deployed via CLAMP for each use case.  Samples 5 through 7 illustrate a sample config policy that is expected with each use case while Sample 8 shows how a single instance could receive the policy config for all use cases.

 


Sample 5 - Sample Policy, as Complex Json, Illustrating the vFW use case

Expand

 {

  "domain": "measurementsForVfScaling",


    "metricsPerEventName": [

    {

      "eventName": "vFirewallBroadcastPackets",

      "controlLoopSchemaType": "VNF",

      "policyScope": "DCAE",

      "policyName": "DCAE.Config_tca-hi-lo",

      "policyVersion": "v0.0.1",

 


      "thresholds": [

        {

          "closedLoopControlName": "CL-FRWL-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",

          "thresholdValue": 4000,

          "direction": "LESS_OR_EQUAL",

          "severity": "MAJOR",

          "closedLoopEventStatus": "ONSET"

        },

        {

          "closedLoopControlName": "CL-FRWL-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",

          "thresholdValue": 20000,

          "direction": "GREATER_OR_EQUAL",

          "severity": "CRITICAL",

          "closedLoopEventStatus": "ONSET"

        }

      ]

    },

  ] 


}


Sample 6 - Sample Policy, as Complex Json, Illustrating the vDN/vLB use case

Expand

{

  "domain": "measurementsForVfScaling", 


  "metricsPerEventName": [

    {

      "eventName": "vLoadBalancer",

      "controlLoopSchemaType": "VM",

      "policyScope": "DCAE",

      "policyName": "DCAE.Config_tca-hi-lo",

      "policyVersion": "v0.0.1",

      "thresholds": [

        {

          "closedLoopControlName": "CL-LBAL-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",

          "thresholdValue": 500,

          "direction": "LESS_OR_EQUAL",

          "severity": "MAJOR",

          "closedLoopEventStatus": "ONSET"

        },

        {

          "closedLoopControlName": "CL-LBAL-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",

          "thresholdValue": 5000,

          "direction": "GREATER_OR_EQUAL",

          "severity": "CRITICAL",

          "closedLoopEventStatus": "ONSET"

        }

      ]

    }

  ] 


}


Sample 7 - Sample Policy, as Complex Json, Illustrating the vCPE use case

Expand

{

  "domain": "measurementsForVfScaling", 


  "metricsPerEventName": [

    {

      "eventName": "vCPEvGMUXPacketLoss",

      "controlLoopSchemaType": "VM",

      "policyScope": "DCAE",

      "policyName": "DCAE.Config_tca-hi-lo",

      "policyVersion": "v0.0.1",

      "thresholds": [

        {

          "closedLoopControlName": "CL-vCPEvGMUX-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241ABA1",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",

          "thresholdValue": 0,

          "direction": "EQUAL",

          "severity": "MAJOR",

          "closedLoopEventStatus": "ABATED

        },

        {

          "closedLoopControlName": "CL-vCPEvGMUX-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241ABA1",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",

          "thresholdValue": 1000,

          "direction": "GREATER_OR_EQUAL",

          "severity": "CRITICAL",

          "closedLoopEventStatus": "ONSET"

        }

      ]

    }

  ]

 


}


Sample 8 - Sample Policy, Illustrating How the Policy Model is Extensible to More than One Use Case

Expand

{

  "domain": "measurementsForVfScaling",


    "metricsPerEventName": [

    {

      "eventName": "vFirewallBroadcastPackets",

      "policyScope": "DCAE",

      "policyName": "DCAE.Config_tca-hi-lo",

      "policyVersion": "v0.0.1", 


      "thresholds": [

        {

          "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",

          "controlLoopSchemaType": "VNF",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",

          "thresholdValue": 4000,

          "direction": "LESS_OR_EQUAL",

          "severity": "MAJOR",

          "closedLoopEventStatus": "ONSET"

        },

        {

          "closedLoopControlName": "CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09",

          "controlLoopSchemaType": "VNF",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",

          "thresholdValue": 20000,

          "direction": "GREATER_OR_EQUAL",

          "severity": "CRITICAL",

          "closedLoopEventStatus": "ONSET"

        }

      ]

    }, 


    {

      "eventName": "vLoadBalancer",

      "policyScope": "DCAE",

      "policyName": "DCAE.Config_tca-hi-lo",

      "policyVersion": "v0.0.1",

      "thresholds": [

        {

          "closedLoopControlName": "CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A",

          "controlLoopSchemaType": "VM",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",

          "thresholdValue": 500,

          "direction": "LESS_OR_EQUAL",

          "severity": "MAJOR",

          "closedLoopEventStatus": "ONSET"

        },

        {

          "closedLoopControlName": "CL-LBAL-HIGH-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B",

          "controlLoopSchemaType": "VM",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",

          "thresholdValue": 5000,

          "direction": "GREATER_OR_EQUAL",

          "severity": "CRITICAL",

          "closedLoopEventStatus": "ONSET"

        }

      ]

    }

 


    {

      "eventName": "vCPEvGMUXPacketLoss",

      "policyScope": "DCAE",

      "policyName": "DCAE.Config_tca-hi-lo",

      "policyVersion": "v0.0.1",

      "thresholds": [

        {

          "closedLoopControlName": "CL-vCPEvGMUX-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241ABA1",

          "controlLoopSchemaType": "VM",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",

          "thresholdValue": 0,

          "direction": "EQUAL",

          "severity": "MAJOR",

          "closedLoopEventStatus": "ABATED"

        },

        {

          "closedLoopControlName": "CL-vCPEvGMUX-HIGH-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BCB2",

          "controlLoopSchemaType": "VM",

          "version": "1.0.2",

          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",

          "thresholdValue": 1000,

          "direction": "GREATER_OR_EQUAL",

          "severity": "CRITICAL",

          "closedLoopEventStatus": "ONSET"

        }

      ]

    }

    

  ] 


}


SME(s):

Alexei Nekrassov

Sandeep Singh

Roohi Verma

Priya Singh

Cheryl Barthelmes

Vijay Venkatesh KumarRoohi Verma

Sandeep Singh

Lusheng Ji


Business Sponsor(s):

provide contact information for the sponsor of this microservice.  This should be the individual or organizations that are providing funding and/or are otherwise responsible for the lifecycle of the application code.

...

Contact

...

Role

...

Contact

Role

Notes

ONAP TSCTechnical Steering CommitteeThis microservice was specifically developed for ONAP R0 and later enhanced for ONAP R1. 

...

provide a short description of any known service use cases to include the VFs involved, the end services impacted, etc.