...
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Nomadic ONT Event/DCAE_CL_
...
OUTPUT Event (WIP)
This event triggers Policy engine to call SO API to modify the associated HSIA service.
DCAE_CL_OUTPUT Event
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
{
"closedLoopEventClient": "DCAE.BBS_mSInstance",
"policyVersion": "1.0.0.5",
"policyName": "Nomadic_ONT",
"policyScope": "service=HSIAService,type=SampleType,closedLoopControlName=CL-NomadicONT-d925ed73-8231-4d02-9545-db4e101f88f8",
"target_type": "VM",
"AAI": {
"service-information.service-instance-id" : "service-instance-id-example",
"pnf.ontSN" : "ontSN-example" //...what ever this is
},
"closedLoopAlarmStart": 1484677482204798,
"closedLoopEventStatus": "ONSET",
"closedLoopControlName": "ControlLoop-BBS-2179b738-fd36-4843-a71a-a8c24c70c88b",
"version": "1.0.2",
"target": "vserver.vserver-name",
"requestID": "97964e10-686e-4790-8c45-bdfa61df770f",
"from": "DCAE"
} |
A&AI Enrichment
The moving ONT associated (through pnfName) service ID is looked up in A&AI and enriched in the A&AI portion of the above DCAE_CL_OUTPUT Event which trigger the operational policy in the operational policy defined below.
New Micro-service
A new micro-service, ONAP Micro-Service or ONAP SM SDK, that handles RG Online (or activation) notification will be introduced to consume a new type of VES event. This event is converted from RG Activation notification by VES Mapper.
The characters of this generic micro- service could be the following:
- hold a set of REST APIs
- consume VES events from DMAAP and the consumed event types will be configurable at both the design time and run time
- publish VES events to DMAAP and the published event types will be configurable at both the design time and run time
- run A&AI query A&AI enrichment logic
The BBS MS could be built on top of DCAE service SDK ( https://gerrit.onap.org/r/#/admin/projects/dcaegen2/services/sdk - R4). A MS blueprint could be defined at DCAE-DS and this service can be deployed from CLAMP or can be instantiated as a standalone container as DCAE is deployed.
Another option of handling RG Activation Registration Event is to have it directly trigger Policy Engine to take further action.
RG Activation(CPE Authentication) Event
This event is converted from the RG Activation notification by VES Mapper. Upon receiving this event BBS MS will look up for the associated service and mark (calling SO API?) it as activated.
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
"event": {
"commonEventHeader": { |
The moving ONT associated (through pnfName) service ID is looked up in A&AI and enriched in the A&AI portion of the above DCAE_CL_Event which trigger the operational policy in the operational policy defined below.
New Micro-service
A new micro-service, ONAP Micro-Service or ONAP SM SDK, that handles RG Online (or activation) notification will be introduced to consume a new type of VES event. This event is converted from RG Activation notification by VES Mapper.
The characters of this generic micro- service could be the following:
- hold a set of REST APIs
- consume VES events from DMAAP and the consumed event types will be configurable at both the design time and run time
- publish VES events to DMAAP and the published event types will be configurable at both the design time and run time
- run A&AI query A&AI enrichment logic
The BBS MS could be built on top of DCAE service SDK ( https://gerrit.onap.org/r/#/admin/projects/dcaegen2/services/sdk - R4). A MS blueprint could be defined at DCAE-DS and this service can be deployed from CLAMP or can be instantiated as a standalone container as DCAE is deployed.
Another option of handling RG Activation Registration Event is to have it directly trigger Policy Engine to take further action.
RG Activation(CPE Authentication) Event
This event is converted from the RG Activation notification by VES Mapper. Upon receiving this event BBS MS will look up for the associated service and mark (calling SO API?) it as activated.
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{ "event": { "commonEventHeader": { "sourceId": "Gateway/sn=83575443FA637D1A", // from 'traget' field "startEpochMicrosec": 1413378172000000, "eventId": "ab305d54-85b4-a31b-7db2-fb6b977766", "sequence": 0, "domain": "fault", "lastEpochMicrosec": 1413378172000033, "eventName": "Fault_CPE_AUTH_Status", "sourceName": ""Gateway/sn=83575443FA637D1A", // 'Target' from the restconf notification. "priority": "High", "version": 3.0, "reportingEntityName": "Domain_Contorller" }, "faultFieldssourceId": {"Gateway/sn=83575443FA637D1A", // from 'traget' field "eventSeveritystartEpochMicrosec": "CRITICAL"1413378172000000, "alarmConditioneventId": "Route_Statusab305d54-85b4-a31b-7db2-fb6b977766", "faultFieldsVersionsequence": 2.0, "specificProblemdomain": "Fault_RG_Statusfault", "alarmAdditionalInformationlastEpochMicrosec": [1413378172000033, {"eventName": "Fault_CPE_AUTH_Status", "namesourceName": ""gatewaySNGateway/sn=83575443FA637D1A", // 'Target' from the restconf notification. "valuepriority": "83575443FA637D1AHigh", "version": 3.0, "reportingEntityName": "Domain_Contorller" }, "faultFields": { { "eventSeverity": "CRITICAL", "namealarmCondition": "macRoute_Status", "faultFieldsVersion": 2.0, "specificProblem": "Fault_RG_Status", "valuealarmAdditionalInformation": "28-6E-D4-89-34-DD"[ { }, "name": "gatewaySN", { "namevalue": "ip83575443FA637D1A", }, "value": "10.68.52.158" { "name": "mac", }, { "namevalue": "state", 28-6E-D4-89-34-DD" "value": "OnLine" }, { "name": "ontSN",{ "valuename": "48575443FA637D1Aip" , } ] "eventSourceTypevalue": "other", 10.68.52.158" "vfStatus": "Active" }, { } } |
Following is the schema of the CPE_Authentication VES event (WIP).
...
Version
...
number
...
Yes
...
Version of the event header (currently: 3.0): 3.0
...
eventName
...
string
...
Yes
...
rgActivation_vendor_pnfName where pnfName is specified by the vendor and is a PNF type; e.g. rgActivation_Huawei_xxxx
...
domain
...
string
...
Yes
...
Event domain enumeration: ‘fault’, ‘heartbeat’, ‘measurementsForVfScaling’, ‘mobileFlow’, ‘other’, ‘sipSignaling’, ‘stateChange’, ‘syslog’, ‘thresholdCrossingAlert’, ‘voiceQuality’, ‘pnfRegistration’
...
eventId
...
string
...
Yes
...
Event key that is unique to the event source
activate_yyyyyyyy where yyyyyyyy is an integer starting at 0 and incremented by 1 for every cpeAuthentication event sent by this ONT/RG.
The key must be unique within notificaiton life cycle similar to EventID from 3GPP. It could be a sequential number, or a composite key formed from the event fields, such as domain_sequence. The eventId should not include whitespace.
...
eventType
...
string
...
No
...
rgActivation
...
sourceId
...
string
...
No
...
UUID identifying the entity experiencing the event issue (note: the AT&T internal enrichment process shall ensure that this field is populated) Not used
...
sourceName
...
string
...
Yes
...
Name of the entity experiencing the event issue
PNF-name (unique PNF correlation ID = pnf-name stored in AAI ; e.g. NOK6061ZW3)
...
reportingEntityId
...
string
...
No
...
UUID identifying the entity reporting the event, for example an OAM VM (note: the AT&T internal enrichment process shall ensure that this field is populated) Not used
...
reportingEntityName
...
string
...
Yes
...
Name of the entity reporting the event, for example, an EMS name. May be the same as the sourceName. For synthetic events generated by DCAE, it is the name of the app generating the event.
PNF-name (unique PNF correlation ID = pnf-name stored in AAI ; e.g. NOK6061ZW3)
...
priority
...
string
...
Yes
...
Processing priority enumeration: ‘High’, ‘Medium’, ‘Normal’, ‘Low’
Normal
...
startEpochMicrosec
...
number
...
Yes
...
the earliest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds
current time
...
lastEpochMicrosec
...
number
...
Yes
...
the latest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds
current time
...
sequence
...
integer
...
Yes
...
Ordering of events communicated by an event source instance (or 0 if not needed)
0
...
internalHeader Fields
...
Internal Header Fields
...
No
...
Fields (not supplied by event sources) that the VES Event Listener service can use to enrich the event if needed for efficient internal processing. This is an empty object which is intended to be defined separately by each provider implementing the VES Event Listener.
Empty. Not used
...
stateChange FieldsVersion
...
number
...
Yes
...
Version of the stateChangeFields block as "#.#", where # is a digit (currently: 1.0). See the VES Event Specification for the correct digits to use.
...
serialNumber
...
string
...
Yes
...
TS 32.692 serialNumber = serial number of the unit; e.g. 6061ZW3
...
vendorName
...
string
...
Yes
...
TS 32.692 vendorName = name of manufacturer; e.g. Nokia. Maps to AAI equip-vendor.
...
macAddress
...
string
...
Yes
...
MAC address of OAM interface of the unit.
...
softwareVersion
...
string
...
No
...
TS 32.692 swName = active SW running on the unit; e.g. 5gDUv18.05.201.
...
manufactureDate
...
string
...
No
...
TS 32.692 dateOfManufacture = manufacture date of the unit in ISO 8601 format; 2016-04-23.
...
lastServiceDate
...
string
...
No
...
TS 32.692 dateOfLastService = date of last service in ISO 8601 format; e.g. 2017-02-15.
...
additionalFields
...
hashMap
...
No
...
Additional registration fields if needed, provided as key-value pairs.
"name": "state",
"value": "OnLine"
},
{
"name": "ontSN",
"value": "48575443FA637D1A"
}
]
"eventSourceType": "other",
"vfStatus": "Active"
}
}
} |
Following is the schema of the CPE_Authentication VES event (WIP).
Field | Type | Required? | Description |
---|---|---|---|
Version | number | Yes | Version of the event header (currently: 3.0): 3.0 |
eventName | string | Yes | rgActivation_vendor_pnfName where pnfName is specified by the vendor and is a PNF type; e.g. rgActivation_Huawei_xxxx |
domain | string | Yes | Event domain enumeration: ‘fault’, ‘heartbeat’, ‘measurementsForVfScaling’, ‘mobileFlow’, ‘other’, ‘sipSignaling’, ‘stateChange’, ‘syslog’, ‘thresholdCrossingAlert’, ‘voiceQuality’, ‘pnfRegistration’ |
eventId | string | Yes | Event key that is unique to the event source activate_yyyyyyyy where yyyyyyyy is an integer starting at 0 and incremented by 1 for every cpeAuthentication event sent by this ONT/RG. The key must be unique within notificaiton life cycle similar to EventID from 3GPP. It could be a sequential number, or a composite key formed from the event fields, such as domain_sequence. The eventId should not include whitespace. |
eventType | string | No | rgActivation |
sourceId | string | No | UUID identifying the entity experiencing the event issue (note: the AT&T internal enrichment process shall ensure that this field is populated) Not used |
sourceName | string | Yes | Name of the entity experiencing the event issue PNF-name (unique PNF correlation ID = pnf-name stored in AAI ; e.g. NOK6061ZW3) |
reportingEntityId | string | No | UUID identifying the entity reporting the event, for example an OAM VM (note: the AT&T internal enrichment process shall ensure that this field is populated) Not used |
reportingEntityName | string | Yes | Name of the entity reporting the event, for example, an EMS name. May be the same as the sourceName. For synthetic events generated by DCAE, it is the name of the app generating the event. PNF-name (unique PNF correlation ID = pnf-name stored in AAI ; e.g. NOK6061ZW3) |
priority | string | Yes | Processing priority enumeration: ‘High’, ‘Medium’, ‘Normal’, ‘Low’ Normal |
startEpochMicrosec | number | Yes | the earliest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds current time |
lastEpochMicrosec | number | Yes | the latest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds current time |
sequence | integer | Yes | Ordering of events communicated by an event source instance (or 0 if not needed) 0 |
internalHeader Fields | Internal Header Fields | No | Fields (not supplied by event sources) that the VES Event Listener service can use to enrich the event if needed for efficient internal processing. This is an empty object which is intended to be defined separately by each provider implementing the VES Event Listener. Empty. Not used |
vesEventListenerVersion | string | Yes | Version of the VES event listener API Spec that this event is compliant with (As "#" or "#.#" or "#.#.#" where # is a digit. |
timeZoneOffset | string | No | Offset to GMT to indicate local time zone for device formatted as 'UTC+/-hh.mm'; see https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations for UTC offset examples |
stateChange FieldsVersion | number | Yes | Version of the stateChangeFields block as "#.#", where # is a digit (currently: 1.0). See the VES Event Specification for the correct digits to use. |
serialNumber | string | Yes | TS 32.692 serialNumber = serial number of the unit; e.g. 6061ZW3 |
vendorName | string | Yes | TS 32.692 vendorName = name of manufacturer; e.g. Nokia. Maps to AAI equip-vendor. |
macAddress | string | Yes | MAC address of OAM interface of the unit. |
softwareVersion | string | No | TS 32.692 swName = active SW running on the unit; e.g. 5gDUv18.05.201. |
manufactureDate | string | No | TS 32.692 dateOfManufacture = manufacture date of the unit in ISO 8601 format; 2016-04-23. |
lastServiceDate | string | No | TS 32.692 dateOfLastService = date of last service in ISO 8601 format; e.g. 2017-02-15. |
additionalFields | hashMap | No | Additional registration fields if needed, provided as key-value pairs. |
Policy
Apex Engine Triggering
PDP-A Configuration (JSON)
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Policy Schema
Logic Artifacts
Pdp-D Option
Operational Policy
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
ontrolLoop:
version: 2.0.0
controlLoopName: ControlLoop-BBS-2179b738-fd36-4843-a71a-a8c24c70c88b
trigger_policy: unique-policy-id-16-ServiceModify
timeout: 3600
abatement: false
policies:
- id: unique-policy-id-16-ServiceModify
name: Connectivity Reroute
description:
actor: SO
recipe: serviceModification
target:
type: VM
retry: 3
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 |
SO Recipe
Design Time
DCAE-DS
Micro-service Blueprints
Policy
Apex Engine Triggering
PDP-A Configuration (JSON)
...
language | text |
---|---|
firstline | 1 |
title | Nomadic ONT PDP-A Configuration |
linenumbers | true |
collapse | true |
...
Logic Artifacts
Pdp-D Option
Operational Policy
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
SO Recipe
Design Time
DCAE-DS
...
CLAMP
Control Loop (Micro-service) Orchestration
...