You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 5
Next »
Introduction
This is considered as an extension of MDONS use case from ONAP Frankfurt release.
Key
|
Summary
|
T
|
Created
|
Updated
|
Due
|
Assignee
|
Reporter
|
P
|
Status
|
Resolution
|
Business Value
Design & Implementation
The scope of code change will be very limited with the existing capability at ONAP CLAMP, DCAE and POLICY components. Given the fact that FNC Virtuora MSA support has already delivered
L0/L1 alarms and PM data in VES (CEDM) (7.0 version) format. However, those delivered through TAPI APIs are retrieved from FPM server and converted into TAPI standard in Json format.
HLD
Close Loop Diagram in MDONS
- SDC/DCAEMOD/Policy Portal design and activate policy.
- Policy config and activate the policy.
- SDC/DCAEMOD distribute the DCAE config.
- SDC/DCAEMOD/HOMES UI distribute the alarm correlation rules to Holmes.
- 3rd party domain controllers report link down alarm to DCAE
- DCAE will do data cleaning and filtering for the alarms
- DCAE keep track the data.
- Holmes do analysis for the alarms.
- Holmes notify the reroute event.
- Policy matching the reroute rules.
- Policy call SO or SDNC to delete the old services and create the new services. For the creation flow, a variable route will be recalculated.
Domain Controller APIs
MSA
TAPI
DCAE
Data Collection Diagram
![](/download/attachments/84649139/image2020-5-29_11-5-15.png?version=1&modificationDate=1590768316000&api=v2)
RestConf Collector (RCC)
In MDONS use case, prior to subscribing to topics to get event notifications. We manually register 'DCAE' in the domain controller (DC). Once registration is successful, system can subscribe to different topics of DC to get event notification. It is mandatory to pass 'notification URL' to DC so that when event occurs it posts notification to that URL.
Alarm Notification
{
"notification": [
{
"notification-type": "ALARM_EVENT",
"target-object-name": [
{
"value-name": "node-id",
"value": "S100-NODE2"
},
{
"value-name": "entity-type",
"value": "slot"
},
{
"value-name": "entity-id",
"value": "Slot-1/4"
}
],
"source-indicator": "RESOURCE_OPERATION",
"uuid": "76234954-30a2-11e9-a785-dd6c51454c4e",
"event-time-stamp": "20190208220426.3Z",
"additional-text": "Equipment Removed:Type=PIS1-PG31",
"alarm-info": {
"service-affecting": "SERVICE_AFFECTING",
"probable-cause": "al-types:equipmentRemoved",
"is-transient": false,
"pervceived-severity": "CRITICAL"
},
"additional-info": [
{
"value-name": "location",
"value": "NEND"
},
{
"value-name": "direction",
"value": "NA"
}
],
"target-object-identifier": "S100-NODE2:slot:Slot-1/4",
"name": [
{
"value-name": "alarm-id",
"value": "S100-NODE2slotal-types:equipmentRemovedSlot-1/4NANEND"
}
]
},
...
...
]
}
MSA
- OpenRoadM Alarm Notification[VES format]
{
"event": {
"commonEventHeader": {
"sourceId": "owb-rdm-003",
"startEpochMicrosec": 1469528413000,
"eventId": "owb-rdm-003 1",
"reportingEntityId": "127.0.1.1",
"eventType": "fault_owb-rdm-003_lossOfSignal",
"priority": "High",
"version": 1.0,
"reportingEntityName": "agilevm",
"sequence": 0,
"domain": "fault",
"functionalRole": "rdm",
"lastEpochMicrosec": 1469528413000,
"sourceName": "owb-rdm-003"
},
"faultFields": {
"eventSeverity": "CRITICAL",
"alarmCondition": "lossOfSignal",
"faultFieldsVersion": 1.0,
"specificProblem": "lossOfSignal",
"alarmInterfaceA": "oms-1/0/0/E1",
"alarmAdditionalInformation": [
{
"name": "direction",
"value": "rx"
},
{
"name": “location",
"value": "NEND"
},
{
"name": "type",
"value": "communication"
},
{
"name": "circuit-id",
"value": "100 OMS DLLSTXRIS50 DLLSTXTAW10"
},
{
"name": "additional-detail",
"value": "sample detail"
},
{
"name": "corrective-action",
"value": "sample action"
}
],
"eventSourceType": "interface",
"vfStatus": "Active"
}
}
}
Since MSA notification is already in VES format, it could be posted directly on to DMAAP with relevant topic to be consumed by Hulmes directly. If RCC does not support such configuration, then a 1n1 attribute mirroring mapping xml file need to be designed to feed the data into the existing flow.
MS Blueprint
rcc_policy:
rcc_policy: '[{"controller_name":"VirtuoraNC","controller_restapiUrl":"167.254.204.181:8443","controller_restapiUser":"admin","controller_restapiPassword":"admin","controller_accessTokenUrl":"/rest/plat/smapp/v1/oauth/token","controller_accessTokenFile":"./etc/access-token.json","controller_accessTokenMethod":"put","controller_subsMethod":"post","controller_subscriptionUrl":"/cxf/subscriptions","controller_disableSsl":"true","event_details":[{"event_name":"MSA_Alarm_Subscription","event_description":"AlarmEvent","event_sseventUrlEmbed":"false","event_sseventsField":"null","event_sseventsUrl":"null","event_subscriptionTemplate":"./etc/MSA_Alarm_Subscription_template.json","event_unSubscriptionTemplate":"./etc/MSA_Alarm_Unsubscription_template.json","modifyData": "true","modifyMethod": "modifyMSAEvent"]}]'
RCC_Output
{
"tapi-notifyid":"example-mappingfile-id.x.1",
"notification": [
{
"notification-type": "ALARM_EVENT",
"target-object-name": [
{
"value-name": "node-id",
"value": "S100-NODE2"
},
{
"value-name": "entity-type",
"value": "slot"
},
{
"value-name": "entity-id",
"value": "Slot-1/4"
}
],
"source-indicator": "RESOURCE_OPERATION",
"uuid": "76234954-30a2-11e9-a785-dd6c51454c4e",
"event-time-stamp": "20190208220426.3Z",
"additional-text": "Equipment Removed:Type=PIS1-PG31",
"alarm-info": {
"service-affecting": "SERVICE_AFFECTING",
"probable-cause": "al-types:equipmentRemoved",
"is-transient": false,
"pervceived-severity": "CRITICAL"
},
"additional-info": [
{
"value-name": "location",
"value": "NEND"
},
{
"value-name": "direction",
"value": "NA"
}
],
"target-object-identifier": "S100-NODE2:slot:Slot-1/4",
"name": [
{
"value-name": "alarm-id",
"value": "S100-NODE2slotal-types:equipmentRemovedSlot-1/4NANEND"
}
]
},
...
...
]
}
VES Mapper
Mapping File
VES Event
HOLMES
Drools Rule - Alarm Correlation
AAI APIs
Output
POLICY
Operational Policy
Apex Engine
SDNC API
CLAMP
CL Template
CL Instance
References