Versions Compared

Key

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

...

The Create Subscription flow is as follows : 

 

...


Subscription Steps :

  1. NCMP is configured at startup with the cm subscription topic information (cm topic name, kafka addressing info).
  2. Some app sends a 'CreateSubscription' event to the public cm subscription topic (cm-event-subscription).

    Create Subscription  :   client app → ncmpCreate Example

    {
      "version": "<event type version>",
      "eventType": "subscriptionCreated",
      "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"
          ]

        }
      }
    }

    {
      "version": "1.0",
      "eventType": "subscriptionCreated",
      "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//”  

        }
      }
    }


  3. NCMP receives consumes the create cm subscription event and processes it as follows : 
    1. Persist the subscription and cm-subscription-filter information to db
    2. Read all CM handles that match the cm-filter-subscription (model matching, cmhandleId matching)
    3. Merge the existing cmhandle filter (if one exists from a previous subscription) with the new cm-filter-subscription
    4. Record the cmhandles whose filter has been modified after filter merging in step c)
  4. For the cmhandle(s) with updates to their subscription filter, group them according to their controlling dmi-plugin and send the subscription request to the appropriate plugin(s).
             -  send either a 'CreateSubscription' (no previous subscription on the cmhandle) or an 'UpdateSubscription' REST async request to the dmi plugin managing the cmhandle(s).
  5. The dmi plugins 
<<REST>> POST /ncmpInventory/v1/subscriptions  :   ncmp → dmiExample

{
  "subscriptions" : [
      {  
          "type": "subscriptionCreated | subscriptionUpdated | subscriptionDeleted",
          "schemaName": "<schema name>"
          "schemaVersion": "<schema version>"
          "isTagged": "<yes|no>, optional parameter, default is no"
          "predicates": {
               "<parameter>": "<value>",
               "param2": [
                      "value21",
                      "value22"
                ]
          }
      }
  ]
}

{
  "subscriptions" : [
      {  
          "type": "subscriptionCreated",        (M)
          "schemaName": "org.onap.ncmp.cm-notification-event" (O)
          "schemaVersion": "1.0"    (O)
          "isTagged": "yes",             (O)
          "predicates"  :   {              (M)
                "datastore": “passthrough-operational",  (O)
                "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//”  
          }
      }
  ]
}


Update Subscription



Topics 

...