Versions Compared

Key

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

Table of Contents

References

Jira
serverONAP Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1065

...

#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?Unsupported for now.  Thrown exception and log error.

Event Flow

...

Overview


CM Event Specification Outline

{

  "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-network-avc-event",                 # event type for async request response events 
  ”eventSchema”                 : “org.onap.ncmp:cm-network-avc-event.rfc8641",   # event schema for async request response events 
  ”eventSchemaVersion”    : “1.0",                                                                              # event schema version

  "event":  {
              <RFC 8641-yang-datastore-notification-payload>                                   # See following sections for example
   }

}

RFC 8641 : yang-datastore notification definition

notifications:

          +---n push-update

          |  +--ro id?                   sn:subscription-id

          |  +--ro datastore-contents?   <anydata>

          |  +--ro incomplete-update?    empty

          +---n push-change-update {on-change}?

             +--ro id?                   sn:subscription-id

             +--ro datastore-changes

             |  +--ro yang-patch

             |     +--ro patch-id    string

             |     +--ro comment?    string

             |     +--ro edit* [edit-id]

             |        +--ro edit-id      string

             |        +--ro operation    enumeration

             |        +--ro target       target-resource-offset

             |        +--ro point?       target-resource-offset

             |        +--ro where?       enumeration

             |        +--ro value?       <anydata>

             +--ro incomplete-update?    empty


'operation' type definition

Event Payload Example

 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"               : "ncmp-datastore:passthrough-operational",          # eventSource always specifies the datastore where the event is emanating from                                      
  "eventType"                  : "org.onap.ncmp.cm-network-avc-event",                 # event type 
  ”eventSchema”             : “org.onap.ncmp:cm-network-avc-event.rfc8641",   # event schema   
  ”eventSchemaVersion” : “1.0",                                                                         # 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"
            }
        ]
     }
   }
 }

    }
}

...