Versions Compared

Key

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

...

Code Block
languagebash
titleSubscription Create Event (Schema 1)
topic subscription

id generated by client
source "SCO-9989752"
specversion  "1.0"
type subscriptionCreated
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": {
                   “targets” :  [“cmHandle1”, “cmHandle2”, “cmHandle3”]     #  cmhandle targets
        "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//”  
 
    }
}


NCMP

...

saves in CPS

Luke Gleeson 


Code Block
languagetext
titlePersisted Subscription Information (Schema 2)
{
	"clientID": "SCO-9989752",
    "subscriptionName": "cm-subscription-001"
	"isTagged" : "true" #optional
	"predicates": {
		"targetCmHandles":[
			{"cmHandleId":"cmHandle1", "status":"pending"},
			{"cmHandleId":"cmHandle2", "status":"pending"},
			{"cmHandleId":"cmHandle3", "status":"pending"}
		]
		"datastore":"passthrough-operational"
	}
	
}

...

Code Block
languagetext
titleInput Schema (Schema 3) - Consumed
{
   "version":topic: ncmp-dmi-cm-avc-subscription-dminame1

id uuid
source "SCO-9989752"
specversion  "1.0",
type   "eventType":"CREATE",subscriptionCreated
time
dataschema org.onap.ncmp.dmi.cm.subscription:1.0.0
data

{
   "eventdata":{
      "subscription":{
         "clientID":"SCO-9989752",
         "name":"cm-subscription-001",
         "isTagged":false
      },
      "dataType":{
         "dataspace":"ALL",
         "dataCategory":"CM",
         "dataProvider":"CM-SERVICE",
         "schemaName":"org.onap.ncmp:cm-network-avc-event.rfc8641",
         "schemaVersion":"1.0"
      },
      "predicates":{
         "targets":[             
			{"cmHandle1": ["shape":"circle"]},
			{"cmHandle2": ["shape":"square"]},
			{"cmHandle3": ["shape":"traingle"]}          
		],
         "datastore":"passthrough-running",
         "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//"
      }
   }
}

...

Code Block
languagetext
titleOutput Schema (Schema 4) - Produced
topic: dmi-ncmp-cm-avc-subscription

id uuid
source <dmiName>
specversion  "1.0"
type subscriptionStatus
time
correlationID: clientId:subscriptionName
dataschema org.onap.ncmp.dmi.cm.subscription:1.0.0
data

{
   "clientId":"SCO-9989752",
   "subscriptionName":"cm-subscription-001",
   "dmiName":"ncmp-dmi-plugin",
   "cmHandleIdToStatussubscriptionStatus":{[
      { 
  		id "CmHandle1":"ACCEPTED",: <cmhandleid>, 
  		status : rejected |  "CmHandle2":"REJECTED"
   }
accepted,
  		message : <some message>
	},
      {...}
   ]
}


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.

...

Proposed outcome (Schema 5)

Code Block
languagetext
{
  "version":topic: subscription-response

id uuid
source <dmiName>
specversion  "1.0",
type  “eventId” : “dse345r-df43”,
  “eventCorrelationId” : <the-subscription-id-issued-for-original-client-subscription-request>,
  "eventType": "subscriptionResponse",
  “eventTime” : <time>,subscriptionStatus
time
correlationID: clientId:subscriptionName
dataschema org.onap.ncmp.dmi.cm.subscription:1.0.0
data

{
  "data": {
       “statusCode” : 201,  # Some error code reflecting partial success.  **
       “statusMessage” : “Partially Applied Subscription”,
       “additionalInfo” : {
           “fail” :  {
                “details” : “faulty subscription format for target(s)”,
                “targets” : [“cmhandle1”, “cmhandle2”, “cmhandle3”]
           },
           “pending” : {
                “details” : “EMS/node connectivity issues, retrying”,
                “targets” : [“cmhandle4”, “cmhandle5”, “cmhandle6”]
       }
  }
}
 
** 202 could indicate complete failure – 
    "data": {
       “statusCode” : 202,  # Some error code reflecting complete rejection of the request
       “statusMessage” : “Subscription rejected : Faulty Subscription Data”,
       “additionalInfo” : {
           “fail” :  {
                “details” : “//NRxxCellDU is not a valid subscription type”
           },

Have another for Pending CMHandles gone to accepted

Open Question: what headers do we need?

...