Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

#IssueNotesDecision
1List scenariosNeed to clarify scenariosRefer to Internal study
2Topicswhat topics are used in what scenario (topic for each Datastore ?)

See Topics section below.


All NCMP notifications to be published on the public cm-events topic by default regardless of data type, notification type or datastore the change came from.  This topics acts as the TBAC_ALL topic.

cm-events topic name should be configurable in deployment settings.


Future : In future NCMP shall publish the notification based on TBAC where the notification is published on the appropriate target group topic cm-events[-<target-group-name>] matching the target group(s) the data type(s) is associated with.  Not in scope of this story.

3Handle unknown event schemasWrap event?Yes - see belowUnsupported for now.  Thrown exception and log error.












Event Flow Sketch


CM Event Specification Outline

...

 Proposed CM event

{

  "eventId"                      : "9999",                                                                      # some generic event uuid generated by DMI Plugin
  “eventCorrelationId”     : “cmhandleId-001”,                                                   # cmhandleId used for event correlation
  "eventTime"                  : "2021-11-16T16:42:25-04:00",
  "eventSource"               : "org.onap.ncmp",                                                  
  "eventType"                  : "org.onap.ncmp.cm-notification-event",                 # event type 
  ”eventSchema”             : “org.onap.ncmp:cm-notification-event",                 # event schema   
  ”eventSchemaVersion” : “v1",                                                                         # event schema version

  "event": {

"push-change-update" : {

    "datastore-changes" : {
      "ietf-yang-patch:yang-patch" : {
          "patch-id" : "34534ffd98",  # Some unreadable patch id generated by the machine 
          "edit" : [
               {
                  "edit-id" : "ded43434-1",
                  "operation" : "create",
                   "target" : "/_3gpp-common-managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp-nr-nrm-nrcelldu:NRCellDU=1",
                   "value" : {
                          "_3gpp-nr-nrm-nrcelldu:NRCellDU" :  [
                               {

                                 "id" : 1,
                              }
                           ]

                      }
              },

               {
                  "edit-id" : "ded43434-1-1",
                  "operation" : "create",
                   "target" : "/_3gpp-common-managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp-nr-nrm-nrcelldu:NRCellDU=1/attributes",
                   "value" : {
                          "attributes" :  {
                                  "cId" : 511,
                                  "userLabel" : "some-cell-label",
                                  ...
                              }

                      }
              },


              {
                  "edit-id" : "ded43434-2",
                  "operation" : "create",
                   "target" : "/_3gpp-common-managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp-nr-nrm-nrcelldu:NRCellDU=1/attributes/pLMNIdList=35301",
                   "value" : {
                         "_3gpp-nr-nrm-nrcelldu:pLMNIdList" : [
                               {

                                      "mcc" : 353,
                                      "mnc" : "01",
                                      ...

                                 }

                              }
                         ]
                      }
              },
              {
                  "edit-id" : "ded43434-3",
                  "operation" : "merge",
                   "target" : "/_3gpp-common-managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp-nr-nrm-nrcelldu:NRCellDU=3/attributes",
                   "value" : {
                         "attributes" : 
                               {               

                                  "cId" : 412,
                                  "userLabel" : "yet-another-cell-label",
                                   ...
                              }
                    }
              },
              {
                  "edit-id" : "ded43434-4",
                  "operation" : "delete",
                   "target" : "/_3gpp-common-managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp-nr-nrm-nrcelldu:NRCellDU=4"
            }
        ]
     }
   }
 }

    }
}

CM Change Event Subscription Proposal

Topics 

Topic types    -

Topic NameDescription
cm-events[-<targetgroup>]

...

 topic for publication of events from NCMP to clients (suggest to rename existing topic from 'ncmp-events' to cm-events).  In preparation to future needs the there may be separate topics for different security groups.  NCMP solution should consider this in its design this upfront.  By default cm-events is the default topic where ALL events are published by default.  Different client may subscribe to different topics (ALL and/or target group specific).  It is their responsibility to subscribe to the appropriate topics as new

...

target groups come into existance. 

...

For now the only topic in scope of this story is the 'cm-events' topic.

...

cm-avc-subscription

...

topic for avc event subscriptions.  This topic may be defined

...

external to NCMP.  If external then it should be possible to tell NCMP the topic name and where to find it.

...

dmi-cm-

...

events

...

internal topic for

...

communications between dmi-plugin ↔ ncmp for avc and subscription events

   

Topic partitioning

All events for the same cmhandleId should be sent to the same partition.  This will guarantee ordering.  Ordering is only guaranteed per topic, not across topic (future consideration).

Subscription Proposal

TBD