...
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)
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 | ||||
---|---|---|---|---|
| ||||
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" } |
...