Impl. Proposal CM Subscriptions : Delete ( Positive Scenarios )
# | Issue | Notes | Decisions |
---|---|---|---|
1 |
# | Issue | Notes | Decisions |
---|---|---|---|
1 | Schema of the outcome response message (Schema 5) | Open Questions:
| |
2 | dataType section needs to be confirmed. | kieran mccarthy to confirm for all the events. | |
3 | Grouping of the response for rejected and pending to be finalized. |
@startuml "Subsciption Create" actor rApp as "rApp/Client" participant DME participant NCMP participant DMI_PLUGIN rApp -> DME DME -> NCMP: 1. Incoming subscriptionCreate event NCMP -> NCMP: 2. NCMP to persist incoming subscription request. NCMP -> DMI_PLUGIN: 3. ncmp to forward event to relevant dmi plugin DMI_PLUGIN -> DMI_PLUGIN: 4. Apply the requested event and respond with the status DMI_PLUGIN --> NCMP: 5. Status of the subscriptionCreate request whether accepted/rejected/pending NCMP --> DME: 6. Respond with the status(rejected/pending) that we received from dmi plugin DME --> rApp @enduml |
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": { "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//” } } "javaType": "org.onap.cps.ncmp.events.avcsubscription1_0_0.client_to_ncmp" |
{ "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" } } |
topic: ncmp-dmi-cm-avc-subscription-dminame1 id uuid source "SCO-9989752" specversion "1.0" type subscriptionCreated 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" |
topic: dmi-ncmp-cm-avc-subscription id uuid - generated by dmi-plugins source <dmiName> specversion "1.0" type subscriptionCreatedStatus 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" |
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}} |
topic: subscription-response id uuid - generated by NCMP source <NCMP> specversion "1.0" type subscriptionCreatedStatus 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" |
Given that a Subscription Create Event has been received by the NCMP and that NCMP is going to forward that subscription to multiple DMI Plugins.