...
Subscription Creation Events Handling
Assumptions
# | Assumption | Notes |
---|---|---|
1 | Forwarded Subscription Event |
Responses communicate asynchronously. (from DMI Plugins to NCMP) |
Then, the NCMP would wait a response(s) within the timeframe agreed on.
TBD: A single step response or two step responses will be provided in the solution.
2 | The NCMP component should create a Subscription |
Event Outcome message and publish it into the topic (cm-avc-subscription-response) |
for Client Apps consumed from |
Issues & Decisions
# | Issue | Notes | Decision | ||
---|---|---|---|---|---|
1 | Possible 'timeframe' period for timeout | DMINCMP to | NCMPClient Apps response timeout | 30 sec | (Configurable param/property). |
2 | Response in two steps or in a single step should be discussed with shareholders.(as of now) | from DMI to NCMP responses | Is the ACK would be required? No DMI-Plugin would publish actual response to NCMP | ||
3 | Response schema should be decided | from DMI to NCMP response schemas should be decided for both two steps response and single step response | Should DMI Plugins detail cm-hande IDs in response? Yes Accept or Decline | ||
4 | Subscription event outcome schema should be decided | from DMI to Client Apps
| We include :
Note : Avoid for wild card * (for all cm handles) |
Possible Topic Names
# | Source | Destination | Content | Topic NameDestination | |
---|---|---|---|---|---|
1 | Client Apps | NCMP | Subscription Create Event | cm-avc-subscription | NCMP|
2 | NCMP | DMI Plugins | Forwarded Subscription Create Event | ncmp-dmi-cm-avc-subscription | DMI Plugins-{DMI-DATA-SERVICE-NAME} |
3 | DMI Plugins | NCMP | Forwarded Subscription Create Event Response | dmi-ncmp-cm-avc-subscription | NCMP|
4 | NCMP | Client Apps | Subscription Create Event Outcome | cm-avc-subscription-response | Client Apps |
Implementation Details
Client apps e.g. DME would publish Subscription Create Event to the topic cm-avc-subscription.
Message Format (Client → NCMP):
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"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-network-avc-event.rfc8641"
"schemaVersion": "1.0"
},
"predicates": {
“targets” : [“sdsd”, “slada”, “ccde3”] # cmhandle targets
"datastore": “passthrough-operational",
"datastore-xpath-filter": "//_3gpp-nr-nrm-gnbdufunction:GNBDUFunction/
_3gpp-nr-nrm-nrcelldu:NRCellDU/ | //_3gpp-nr-nrm-gnbcuupfunction:GNBCUUPFunction//
}
} |
The NCMP would consume the messages from cm-avc-subscription topic, and create Forwareded Subscription Event.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"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.dmi:cm-network-avc-event.rfc8641"
"schemaVersion": "1.0"
},
"predicates": {
“targets” : [ { cmhandle : “sdsd”,
cmhandle-properties” : {
“prop1” : “prop-value”
}
},
{ cmhandle : “slada”,
cmhandle-properties” : {
“prop-x” : “prop-valuex”
}
},
{ cmhandle : “ccde3”,
cmhandle-properties” : {
“prop-y” : “prop-valuey”
}
}
] # 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//”
}
} |
...
- Response in two steps
- Ack (response with DMI plugin detais e.g. DMI X and Y has started to processing)
- Process result response: 2 out of 3 DMI has responed. (The percentage is %66.)
- Response in a single step
- Process result response: 2 out of 3 DMI has responed. (The percentage is %66.)
...