You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 12
Next »
References
Issues & Decisions
# | Issue | | Decisions |
---|
1 | Use "Generic" Detail-fields or or more specific fields |
| kieran mccarthy prefer to use specific terms like 'orginalState' instead of generic 'details' |
2 | how many event schema's for different events will there be? | e.g. 1 schema for state change, 1 other schema for public properties? OR a single schema with some fields not always of the used/compulsory | Need to discuss with kieran mccarthy One single schema for all cmhandle LCM events : org.onap.ncmp:cmhandle-lcm-event:v1 |
3 | what is the best term to use for change events 'original', 'previous' or something else | Team found term 'original' confusing and prefers 'previous' e.g. previousState | use 'oldValues' and 'newValues'. See analysis below. |
4 | Should public properties be part of (same) structure as state | Team feels state and properties are very different and should not be combined into same structure This also depends on open issue #2 | Agreed at team meeting that all cmhandle metadata attributes to be managed in the same manner whether that is state or properties. |
5 | Should the schema version be separate from 'eventSchema'? | The event schema is defined like this : org.onap.ncmp:cmhandle-lcm-event:v1 where version is at the end of the schema string. It would be better to split the schema version into its own header field. e.g. ”eventSchema” : “org.onap.ncmp:cmhandle-lcm-event", ”eventSchemaVersion” : “v1.0", | Toine Siebelink Can we split the schema version into its own field or is it a standard way to reference schema versions like the way CPS do it for their events (at least I think this is what they do?) like this : ' |
Overview
This page is for deciding the structure of the proposed "detail" section which needs to be introduced in the NcmpEvent payload.
Refer : CPS-858 Define Notifications on CM Handle Add (Ready) & Delete #8
Purpose : Additional field(s) to store information about the previous state.
Current Schema
{
"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": {
“cmhandle-state” : “READY”,
"cmHandleId" : "cmhandle-001",
“cmhandle-properties” : [
{“public-property-name-1” : “public-property-value-1”},
{“public-property-name-2” : “public-property-value-2”}
]
}
}
Proposed events
{
"eventId" : "00001",
"eventCorrelationId : "cmhandle-001"
"eventTime" : "2021-11-16T16:42:25-04:00",
"eventSource" : "org.onap.ncmp",
"eventType" : "org.onap.ncmp.cmhandle-lcm-event.create",
”eventSchema” : “org.onap.ncmp:cmhandle-lcm-event:v1",
"event": {
“cmhandleId” : “cmhandle-id-001”,
"newValues" : { # include ALL cmhandle metadata attributes in newValues section
“cmhandle-state” : “READY”,
“dataSyncEnabled” : “TRUE”,
“cmhandleProperties” : [
“someProperty-1” : “Initial property value 1”,
“someProperty-2” : “Initial property value 2”
]
}
}
}
{{
"eventId" : "00001",
"eventCorrelationId : "cmhandle-001"
"eventTime" : "2021-11-16T16:42:25-04:00",
"eventSource" : "org.onap.ncmp",
"eventType" : "org.onap.ncmp.cmhandle-lcm-event.update",
”eventSchema” : “org.onap.ncmp:cmhandle-lcm-event:v1",
"event": {
“cmhandleId” : “cmhandle-id-001”
"oldValues" : {
“dataSyncEnabled” : “FALSE”,
“cmHandleDescription” : “Some description”
“cmhandleProperties” : [
“someProperty-0” : “ This property will be updated”,
“someProperty-1” : “ This property will be deleted”,
}
"newValues" : {
“dataSyncEnabled” : “TRUE”,
“cmhandleProperties” : [
“someProperty-0” : “ This property has been updated”,
“someProperty-2” : “ This property is newly added to the cmhandle”
]
}
]
}
}
{
"eventId" : "00001",
"eventCorrelationId : "cmhandle-001",
"eventTime" : "2021-11-16T16:42:25-04:00",
"eventSource" : "org.onap.ncmp",
"eventType" : "org.onap.ncmp.cmhandle-lcm-event.delete",
”eventSchema” : “org.onap.ncmp:cmhandle-lcm-event:v1",
"event": {
“cmhandleId” : “cmhandle-id-001”
}
}