...
# | Issue | Notes | Decision |
---|---|---|---|
1 | should dataspaceName be given another name? | dataspaces are private to an application (e.g. NCMP) they should not be shared kieran mccarthy what do you mean by dataspaceName? | omit for now - put in later if needed/required. |
2 | should schema urn be generalized, how might it impact publication to ORAN R1? | The schema of the payload is dictated by the source of the event kieran mccarthy what do you refer to here? Ans : the schema refers to 'org.onap'. Emailed ORAN guys to identify how to close the gap between ORAN and ONAP. | . |
3 | should "ncmp" be used rather than "cps" in the type definitions | i.e. org.onap.cps.cmhandle-lcm-event or org.onap.ncmp.cmhandle-lcm-event? NCMP owns these events, 'cps' should not appear (even if cps is emitting them) NCMP java classnames begin with org.onap.cps.ncmp – Tony does not care , but Toine does. kieran mccarthy , where does this type come from? | schema urn should refer to ncmp - not cps. |
4 | should a bulk cmhandle event be supported? | Prefer to delay this decision, but keep it in mind so we do not need to break compatibility to support it. -- Could be tricky as with horizontal scale NCMP, multiple will be emitting simulatneously | leave out of scope for now |
Input Reference Material
RFC 8639 : Subscription to YANG Notifications
RFC 8641 : Subscription to YANG Notifications for Datastore Updates
Extract from RFC 8641 :
Alternatives
Alternative event headers include
Alt #1
...
Proposal
Proposed event for cmhandle LCM |
---|
{ |
"id": "77b8f114-4562-4069-8234-6d059ff742ac",
"source": "org.onap.ncmp",
"type": "org.onap.ncmp.cmhandle-lcm-event",
"content": {
"observedTimestamp": "2020-12-01T00:00:00.000+0000", # time of received REST registration request
....
}
}
Proposed event for cmhandle LCM |
---|
{ |
...
Proposal is via the main scenarios.... the schema can reflect this.
cmhandle update event is ONLY sent for publicly available cmhandle metadata.
Changes to private cmhandle properties will not trigger a cmhandle LCM event.
cmhandle Event Type | Detail | Event |
---|---|---|
CREATE | Add New CM Handle. # eventCorrelationId is used for the cmhandleId for "event" payload should include ALL public metadata for the cmhandle where appropriate. | { |
|
|
...
}
"
event": { | |
UPDATE | Update cmhandle. # eventCorrelationId contains the updated cmhandleId
|
discovered/added for the cmhandle |
modules / schemaSet is not sent in an org.onap.ncmp.cmhandle-lcm-event. Module upgrade will be addressed separately. Even if one public metadata property changes, ALL properties are sent in the |
with the state transition
update event. If the update cmhandle event was because of a removed/deleted cmhandle public property then that property is simply missing from the list of public cmhandle properties. | { |
|
}
"event": { |
{
"schema": "urn:cps:org.onap.ncmp:cmhandle-lcm-event-schema:v1",
"id": "77b8f114-4562-4069-8234-6d059ff742ac",
"source": "urn:cps:org.onap.ncmp",
"type": "org.onap.cps.cmhandle-lcm-event",
"content": {
"observedTimestamp": "2020-12-01T00:00:00.000+0000",
"cmhandleId": 43t345tbnfd85435
"operation" : "UPDATE",
"data": { # only changed properties are returned
"state" : {
"cmhandleState" : "READY"
},
"schemaSet": ["schema-name-1", "schema-name-2", "schema-name-3", "schema-name-4", "schema-name-5"] # list of all yang modules
}
}
}
}
Update cmhandle
Multiple updates to a cmhandle
Update a publicCmhandleProperty attributes
"schema": "urn:cps:org.onap.ncmp:cmhandle-lcm-event-schema:v2",
"id": "77b8f114-4562-4069-8234-6d059ff742ac",
"source": "urn:cps:org.onap.ncmp",
"type": "org.onap.cps.cmhandle-lcm-event",
"content": {
"observedTimestamp": "2020-12-01T00:00:00.000+0000",
"cmhandleId": 43t345tbnfd85435
"operation" : "UPDATE",
"data": {
"publicCmhandleProperties" : [
"property-name-1" : null # indicates the property has been deleted/removed from the cmhandle
"property-name-2" : "some-prop-value-2" # indicates the property has been modified.
"property-name-3" : "some-prop-value-3" # This is a new cmhandle property added.
]
}
}
}
}
Upgrade cmhandle
SchemaSet change.
Triggered by an upgrade of a network element for example
{
"schema": "urn:cps:org.onap.ncmp:cmhandle-lcm-event-schema:v2",
"id": "77b8f114-4562-4069-8234-6d059ff742ac",
"source": "urn:cps:org.onap.ncmp",
"type": "org.onap.cps.cmhandle-lcm-event",
"content": {
"observedTimestamp": "2020-12-01T00:00:00.000+0000",
"cmhandleId": 43t345tbnfd85435
"operation" : "UPGRADE",
"data": {
"originalSchemaSet" : ["schema-name-1", "schema-name-2", "schema-name-3", "schema-name-4", "schema-name-5.1"],
"newSchemaSet": ["schema-name-1", "schema-name-2", "schema-name-3", "schema-name-4", "schema-name-5.2", "schema-name-6"]
}
}
}
}
"schema": "org.onap.ncmp:cmhandle-lcm-event-schema:v1",
"id": "77b8f114-4562-4069-8234-6d059ff742ac",
"source": "org.onap.ncmp",
"type": "org.onap.ncmp.cmhandle-lcm-event",
"content": {
"observedTimestamp": "2020-12-01T00:00:00.000+0000",
"cmhandleId": 43t345tbnfd85435
"operation" : "DELETE"
“cmhandle-properties” : [ |
}
| ||
DELETE | Delete cmhandle # eventCorrelationId contains the deleted cmhandleId | { "eventId" : "00001", "eventCorrelationId : "cmhandle-001" "eventTime" : "2021-11-16T16:42:25-04:00", "eventSource" : "org.onap.ncmp", "eventType" : "org.onap.ncmp.cmhandle-lcm-event", ”eventSchema” : “org.onap.ncmp:cmhandle-lcm-event:v1", "event": { “operation” : “delete” } } |