Versions Compared

Key

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

References

// put in related JIRA tickets and the reference here.

Assumptions

#

Issue

Notes

Decisions

1

The whole subscription event is deleted




Issues & Decisions

#

Issue

Notes

Decisions

1

Delete the subscription from the database?

  1. Subscription can be marked as deleted or removed from the database
  2. When are they deleted from db?

2What do we need to send to the DMI Plugin
  1. subscription name + client id
  2. + cmhandle ids?
  3. + cmhandle properties?
  4. + datastore?

Overview



PlantUML Macro
aligncenter
titleSubscription Delete
@startuml "Subsciption Delete"

participant EDM
participant NCMP
participant DMI_PLUGIN

EDM -> 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 are accepted then the subcription data will be removed from DB otherwise NOTHING will be deleted
NCMP --> EDM: 6. Respond with the status that we received from dmi plugin

@enduml


EDM to NCMP

Subscription Create Event (Schema 1)


Subscription Create Event (Schema 1)

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"


// Show input and output schema

// Any logic if we want to discuss and make decision

NCMP to DMI-Plugins

Image Modified
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 by DMI Plugins

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,
        details : <some message>  // only present for rejected
    },
      {...}
   ]
}
 
"javaType": "org.onap.cps.ncmp.events.avcsubscription1_0_0.dmi_to_ncmp"


Notes

  1. dmiName in Output Schema is populated from application.yml of DMI-plugin.
  2. DMI-plugin subscribes to the topic to consume Input Schema given in application.yml of DMI-plugin.



application.yml of DMI-Plugin

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

Proposed outcome (Schema 5)

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"

...