Versions Compared

Key

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

...

UsecaseparticipantsRequest Schema / ExampleNCMP Updates 
Notify of create subscription request success
on passthrough-operational datastore -
success case
dmi → ncmp

Protocol : Kafka Event
Topic : dmi-cm-avc-subscription

  


Code Block
languagexml
titledmi-cm-avc-subscription schema
collapsetrue
{

  "eventId"               : 

{

  "eventId"                                 : 
"00001",   (M)


  "eventCorrelationId     : "cmhandle-001" (M)    
  

  
"eventTime"           
                 : 
  : "2021-11-16T16:42:25-04:00"                         (M)

  

  "eventSource"       
               
    :
 
 "ncmp-datastore:passthrough-operational"            (M) 
  

  
"eventType"         
                 
    :
 
 "org.onap.ncmp:cm-avc-subscription-event.response",   (M)

  ”eventSchema”           :

  ”eventSchema”           : “org.onap.ncmp:cm-avc-subscription-event",            (M)

  

  "eventSchemaVersion"   
     
 :
 
 "1.0"
            
            (M)

 
  "event": {
         “cmHandleId” : “cmhandle-001”,(M)
         "subscriptionResponse" : {                         (M)
             "subscriptionType"           :

 
  "event": {
         “cmHandleId”                     : “cmhandle-001”,(M)
         "subscriptionResponse": {                         (M)
             "subscriptionType"           : "created",     (M)

             “subscriptionRequestStatus”  :

             “subscriptionRequestStatus”  : “success”,     (O)

             “subscriptionId”             : “cc77765sddf”, (O - Mandatory if

             “subscriptionId”             : “cc77765sddf”, (O - Mandatory if subscriptionRequestStatus=success)


             "predicates" : {


                 "datastore" : "passthrough-operational",


                 "datastore-xpath-filter" : ""


             }


      
  
   }  


    }


}



NCMP register the new cmhandle subscription data.

Store the datastore subscription data in the cmhandle.  Also store the administrativeState that may be used to prevent race conditions between parallel subscriptions being applied.

Code Block
languagexml
titlecmhandle data in NCMP DB
collapsetrue
{


     "cmhandleId" : <cmhandle-id>


     "subscriptions" :  {


          "operational" :    # 'local' ncmp subscription is required with the cmhandle - store separately?


                 "administrativeState" : "active",


                 "datastore-xpath-filter" : <xpath-filter>


            },


          "running" : {   # 'local' ncmp subscription is required with the cmhandle - store subId separately?


                 "administrativeState" : "active",


                 "datastore-xpath-filter" : <xpath-filter>


            },


          "passthrough-operational" : {


                 "administrativeState" : "updating",   # if 'updating' then block/queue new sub's until 'active'


                 "subscriptionId" : "cc77765sddf",


                 "datastore-xpath-filter" : <xpath-filter>


            },


          "passthrough-running" : {


                 "administrativeState" : "active",


                 "subscriptionId" : <sub-id-of-device">,


                 "datastore-xpath-filter" : <xpath-filter>


            }


    }


}


Once NCMP receives the subscription response if shall update the cmhandle subscription state attributes as described in step 7.

Notify of modify subscription request success
on passthrough-operational datastore -
success case
dmi → ncmp

Protocol : Kafka Event
Topic : dmi-cm-avc-subscription-events
  

{

  "eventId"                                 : "00001",   (M)
  "eventCorrelationId     : "cmhandle-001" (M)    
  "eventTime"                             : "2021-11-16T16:42:25-04:00",                          (M)
  "eventSource"                         : "ncmp-datastore:passthrough-operational",             (M)      "eventType"                             : "org.onap.ncmp:cm-avc-subscription-event.response",   (M)
  ”eventSchema”           : “org.onap.ncmp:cm-avc-subscription-event",            (M)
  "eventSchemaVersion"         : "1.0"            (M)
 
  "event": {
         “cmHandleId” : “cmhandle-001”,(M)
         "subscriptionResponse" : {                         (M)
             "subscriptionType"           : "modify",     (M)

             “subscriptionRequestStatus”  : “success”,     (O)
             “subscriptionId”             : “cc77765sddf”, (O - Mandatory if subscriptionRequestStatus=success)
             "predicates" : {
                 "datastore" : "passthrough-operational",
                 "datastore-xpath-filter" : "....."
             }

         }  
    }

}


...

UsecaseParticipantsSubscription SchemaSubscription Updated Example
Modify Subscriptionclient app → ncmp

Protocol : Kafka Event
Topic : cm-avc-subscription

Code Block
languagexml
titlecm-avc-subscription schema
collapsetrue
{


  "version": "<event type version>",


  "eventType": "subscriptionUpdated",


  "event": {


    "subscription": {


      "clientID": "<unique identifier for the client >",


      "name": "<unique subscription name per client>",


      "isTagged": "<yes|no>, optional parameter, default is no"


    },


    "dataType": {


      "dataspace": "<data space>",


      "dataCategory": "<data category type>",


      "dataProvider": "<data provider type>"


      "schemaName": "<schema name>"


      "schemaVersion": "<schema version>"


    },


    "predicates": {


      "<parameter>": "<value>",


      "param2": [


        "value21",


        "value22"


      ]


    }


  }

}

}



Code Block
languagexml
titleSubscription Updated Example
collapsetrue
{
  
{
 
"version": "1.0",


  "eventType": "subscriptionUpdated",


  "event": {


    "subscription": {


      "clientID": "SCO-9989752",


      "name": "cm-subscription-001"


    },


    "dataType": {


      "dataspace": "ALL",


      "dataCategory": "CM",


      "dataProvider": "CM-SERVICE"


      "schemaName": "org.onap.ncmp.cm-notification-event"


      "schemaVersion": "1.0"


    },


    "predicates": {


        "datastore": “passthrough-operational",


        "datastore-xpath-filter": "//_3gpp-nr-nrm-gnbdufunction:GNBDUFunction/ 


             _3gpp-nr-nrm-nrcelldu:NRCellDU/ | //_3gpp-nr-nrm-gnbcuupfunction:GNBCUUPFunction// |


            //_3gpp-nr-nrm-gnbcucpfunction:GNBCUCPFunction/_3gpp-nr-nrm-nrcelldu:NRCellCU// |


            //_3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier//”  


    }


  }


}


                   Table 4   Update Subscription request from client app

...

UsecaseparticipantsRequest Schema / ExampleNCMP Updates 
Notify of delete subscription request success
on passthrough-operational datastore -
success case
dmi → ncmp

Protocol : Kafka Event
Topic : dmi-cm-avc-subscription

Code Block
languagexml
titleSchema
collapsetrue
{

  "eventId"               : "00001",   (M)
  "eventCorrelationId     : "ff56743" (M)    
  "eventTime"             : "2021-11-16T16:42:25-04:00",                          (M)
  "eventSource"           : "ncmp-datastore:passthrough-operational",             (M) 
  "eventType"             : "org.onap.ncmp:cm-avc-subscription-event.response",   (M)
  ”eventSchema”           : “org.onap.ncmp:cm-avc-subscription-event",            (M)
  "eventSchemaVersion"    : "1.0"            (M)
 
  "event": {
         “cmHandleId”                     : “ff56743”,     (M)
         "subscriptionResponse"           : {              (M)
             "subscriptionType"           : "delete",      (M)
             “subscriptionRequestStatus”  : “success”,     (O)
             “subscriptionId”             : “cc77765sddf”, (O - Mandatory if subscriptionRequestStatus=success)
         }  
    }

}



NCMP register the new cmhandle subscription data.

Store the datastore subscription data in the cmhandle.  Also store the administrativeState that may be used to prevent race conditions between parallel subscriptions being applied.

Code Block
languagexml
titleCmHandle Data in NCMP DB
collapsetrue
{
     "cmhandleId" : <cmhandle-id>
     "subscriptions" :  {
          "operational" : {    # 'local' ncmp subscription is required with the cmhandle - store separately?
                 "administrativeState" : "active",
                 "datastore-xpath-filter" : <xpath-filter>
            },
          "running" : {   # 'local' ncmp subscription is required with the cmhandle - store subId separately?
                 "administrativeState" : "active",
                 "datastore-xpath-filter" : <xpath-filter>
            },
          "passthrough-operational" : {
                 "administrativeState" : "running"             →   'inactive'
                 "subscriptionId" : "cc77765sddf",          →   remove or set to ""
                 "datastore-xpath-filter" : <xpath-filter>  →  remove or set to ""
            },
          "passthrough-running" : {
                 "administrativeState" : "active",
                 "subscriptionId" : <sub-id-of-device">,
                 "datastore-xpath-filter" : <xpath-filter>
            }
    }
}



Once NCMP receives the subscription response if shall update the cmhandle subscription state attributes as described in step 7.

...