Versions Compared

Key

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

...

PlantUML Macro
aligncenter
titleSubscription Delete
@startuml "Subsciption Delete"

participant CLIENT
participant NCMP
participant DMI_PLUGIN

CLIENT -> NCMP: 1. Incoming subscriptionDelete event
NCMP -> DMI_PLUGIN: 2. ncmp to forward event to dmi plugin
DMI_PLUGIN -> DMI_PLUGIN: 3. Apply the requested event and respond with the status
DMI_PLUGIN --> NCMP: 4. Status of the subscriptionDelete request whether accepted/rejected/pending
NCMP --> NCMP: 5. If all accepted then only remove the subcription data from DB
NCMP --> CLIENT: 6. Respond with the status that we received from dmi plugin



@enduml


EDM to NCMP

Subscription Delete Event

...

topic subscription
 
id generated by client
source "SCO-9989752"
specversion  "1.0"
type subscriptionDeleted
time
dataschema org.onap.ncmp.cm.subscription:1.0.0
data
 
{
  "data": {
    "subscription": {
      "clientID": "SCO-9989752",
      "name": "cm-subscription-001"
    },
    "dataType": {
      "dataspace": "ALL",
      "dataCategory": "CM",
      "dataProvider": "CM-SERVICE"
    },
      "predicates":{
         "datastore":"passthrough-running"
      }

}
 
"javaType": "org.onap.cps.ncmp.events.avcsubscription1_0_0.client_to_ncmp"


NCMP to DMI-Plugins


Input Schema (Schema 3) - Produced by NCMP and Consumed by DMI Plugins

topic: ncmp-dmi-cm-avc-subscription-dminame1
 
id uuid
source "SCO-9989752"
specversion  "1.0"
type subscriptionDeleted
time // ncmp will generate
dataschema org.onap.ncmp.dmi.cm.subscription:1.0.0
data
 
{
"data":{
      "subscription":{
         "clientID":"SCO-9989752",
         "name":"cm-subscription-001",
         "isTagged":false
      },
      "dataType":{
         "dataspace":"ALL",
         "dataCategory":"CM",
         "dataProvider":"CM-SERVICE"
      },
      "predicates":{
         "targets":[            
            {"id" : <cmhandleid>,
             "additional-properties": ["shape":"circle"]},    
            {"id" : <cmhandleid>,
             "additional-properties": ["shape":"triangle"]},   
            {"id" : <cmhandleid>,
             "additional-properties": ["shape":"square"]}
         ],
         "datastore":"passthrough-running",
         "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//"
      }
   }
}
 
"javaType": "org.onap.cps.ncmp.events.avcsubscription1_0_0.ncmp_to_dmi"


DMI-Plugins to NCMP


Output Schema (Schema 4) - Produced  Produced by DMI Plugins and Consumed by NCMP

topic: dmi-ncmp-cm-avc-subscription
 
id uuid - generated by dmi-plugins
source <dmiName>
specversion  "1.0"
type subscriptionDeletedStatus
time - generated by dmi
correlationid: <clientId>:<subscriptionName>
dataschema org.onap.ncmp.dmi.cm.subscription:1.0.0
data
{
   "clientId":"SCO-9989752",
   "subscriptionName":"cm-subscription-001",
   "dmiName":"<dmiName>",
   "subscriptionStatus":[
      {
        id : <cmhandleid>,
        status : rejected | accepted | pending,
        details : <some message>  // only present for rejected
    },
      {...}
   ]
}
 
"javaType": "org.onap.cps.ncmp.events.avcsubscription1_0_0.dmi_to_ncmp"

...

dmi:
    service:
        name: ${DMI_SERVICE_NAME:ncmp-dmi-plugin}
app:
    dmi:
        avc:
            subscription-topic: ${DMI_CM_AVC_SUBSCRIPTION:ncmp-dmi-cm-avc-subscription-${dmi.service.name}}


NCMP to Client-Apps

...

Produced by NCMP to send it to the Client-Apps

topic: subscription-response
 
id uuid - generated by NCMP
source <NCMP>
specversion  "1.0"
type subscriptionDeletedStatus
time // NCMP would generate
correlationid: clientId:subscriptionName
dataschema org.onap.ncmp.cm.subscription:1.0.0
data
 
{
  "data": {
       “statusCode” : 207,  # Some error code reflecting partial success.  **   //  To be discussed with the whole team
       “statusMessage” : “Partially Applied Subscription”,
       “additionalInfo” : {
           “rejected” :  [{
                “details” : “faulty subscription format for target(s)”, // need to finalize the detailed message for grouping.
                “targets” : [“cmhandle1”, “cmhandle2”, “cmhandle3”]
           },
            {
                “details” : “faulty subscription format for target(s) - xyz”, // need to finalize the detailed message for grouping.
                “targets” : [“cmhandle1”]
           }
],
           “pending” : {
                “details” : “EMS/node connectivity issues, retrying”,
                “targets” : [“cmhandle4”, “cmhandle5”, “cmhandle6”]
       }
  }
}
 
// we dont have to send the accepted cmhandle details.
  
** 202 could indicate complete failure –
    "data": {
       “statusCode” : 406,  # Some error code reflecting complete rejection of the request
       “statusMessage” : “Subscription rejected : Faulty Subscription Data”,
       “additionalInfo” : {
           “rejected” :  {
                “details” : “//NRxxCellDU is not a valid subscription type”
           },
 
Have another for Pending CMHandles gone to accepted
 
"javaType": "org.onap.cps.ncmp.events.avcsubscription1_0_0.ncmp_to_client"

...