Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Fields

Required

Description

AAI

Yes

Contains the   A&AI Node-Attribute list; dependent on successful enrichment of VNF/VM   type

closedLoopAlarmEnd

Yes - only for   ABATED

When the alarm was   clearedwas cleared. This field need only be present in the ABATED message.

closedLoopAlarmStart

Yes

When the alarm was   first was first detected.

closedLoopControlName

Yes

This is 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 this event structure MUST include this ID.

closedLoopEventClient

No

For   monitoringFor monitoring/logging/auditing purposes, if there is an instance ID of the DCAE   micro DCAE micro service this field should be populated with it.

closedLoopEventStatus

Yes

This is the status   of status of the closedLoopControlName/requestID pair. It can either ONSET or ABATED.

from

Yes

The ONAP platform   component publishing this message. If DCAE, then it should be 'DCAE'.

policyName


The name of the   Policy driving the DCAE micro service. Should be a part of the configuration   policy configuration policy setup by CLAMP and passed by DCAE controller

policyScope


The scope 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


The version of the   Policy driving the DCAE Micro service. Should be a part of the configuration   policy configuration policy setup by CLAMP and passed by DCAE controller

requestID

Yes

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.

target

Yes

This is the name of   the 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 subtag holding this value.

target_type

Yes

The type of the   target: VM or VNF. Future PNF

version

Yes

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

...

Query generic-vnf object based on vnf-name (maps to event.commonEventHeader.sourceName in VES payload)

https://{aai}/aai/v11/network/generic-vnfs/generic-vnf?vnf-name={vnf-name}

Object Returned: v11-generic-vnf-object.docx

...

1)    Perform node based query to get identify the vserver object resource-link using vserver-name as parameter to below api (vserver-name maps to event.commonEventHeader.sourceName in VES payload)

https://{aai}/aai/v11/search/nodes-query?search-node-type=vserver&filter=vserver-name:EQUALS:{vserver-name}

On a successful match this would return following object containing resource-type and resource-link

...

2)     Use the "resource-link" returned to query A&AI to fetch the vserver specific details.  (see VM examples below)

Object Returned: v11-vserver-object.docx

...

Code Block
titleA&AI query and output sample
collapsetrue
Query-1 - To identify vserver object resource-link based on vserver-name
curl -k -X GET --user DCAE:DCAE -H "X-FromAppId: testUser" -H "X-TransactionId: testUserTrans" -H "Content-Type: application/json" -H "Accept: application/json" -H "Real-Time: true" "https://209.61.160.97:8443/aai/v11/search/nodes-query?search-node-type=vserver&filter=vserver-name:EQUALS:example-vserver-name-val-2" | python -m json.tool
{
    "result-data": [
        {
            "resource-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/DFW/tenants/tenant/1031120/vservers/vserver/example-vserver-id-val-2",
            "resource-type": "vserver"
        }
    ]
}
 
Query-2 - Get the vserver object for enrichment
$ curl -k -X GET --user DCAE:DCAE -H "X-FromAppId: testUser" -H "X-TransactionId: testUserTrans" -H "Content-Type: application/json" -H "Accept: application/json" -H "Real-Time: true" "https://209.61.160.97:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/DFW/tenants/tenant/1031120/vservers/vserver/example-vserver-id-val-2" | python -m json.tool
{
    "in-maint": true,
    "is-closed-loop-disabled": true,
    "prov-status": "example-prov-status-val-2",
    "resource-version": "1504912891060",
    "vserver-id": "example-vserver-id-val-2",
    "vserver-name": "example-vserver-name-val-2",
    "vserver-name2": "example-vserver-name2-val-2",
    "vserver-selflink": "example-vserver-selflink-val-2"
}

...