...
# | Assumption | Notes |
---|---|---|
1 | Forwarded Subscription Event Responses communicates communicate asynchronously. (from DMI Plugins to NCMP) Once off timer would be responsible to consume messages into NCMP. Then, the NCMP would wait a response(s) within the timeframe agreed on. (30 seconds) A single step response will be provided in the solution. Since, ACK is not feasible as of now. | |
2 | The NCMP component should create a Subscription Create Event Outcome message and publish it into the topic (cm-avc-subscription-response) for Client Apps consumed from.The Outcome Response schema need to be decided on. |
Issues & Decisions
# | Issue | Notes | Decision |
---|---|---|---|
1 | Possible 'timeframe' period for timeout | DMI NCMP to NCMP Client 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 : Initial Response
| We include :
Update Responses that comes after timeframe (30 sec) :
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-subscriptionNCMP | |
2 | NCMP | DMI Plugins | Forwarded Subscription Create Event | ncmp-dmi-cm-avc-subscription-{DMI-DATA-SERVICE-NAME} DMI Plugins | |
3 | DMI Plugins | NCMP | Forwarded Subscription Create Event Response | dmi-ncmp-cm-avc-subscriptionNCMP | |
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// |
//_3gpp-nr-nrm-gnbcucpfunction:GNBCUCPFunction/_3gpp-nr-nrm-nrcelldu:NRCellCU// |
//_3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier//”
}
} |
The NCMP would consume the messages from cm-avc-subscription topic, and create Forwarded Subscription Event.
Message Format (NCMP→ DMI Plugin):
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"
}
}
],
"datastore": "passthrough-operational",
"datastore-xpath-filter": "//_3gpp-nr-nrm-gnbdufunction:GNBDUFunction/",
"_3gpp-nr-nrm-nrcelldu": "NRCellDU",
"_3gpp-nr-nrm-gnbcuupfunction": "GNBCUUPFunction",
"_3gpp-nr-nrm-nrsectorcarrier": "NRSectorCarrier"
}
}
} |
TBD Further with external team: Putting predicates back to NCMP does not sense. Since, the predicates and CM Handles are clashing.
...
- Response in a single step
- Process result response: 2 out of 3 DMI has responded. (The percentage is %66.)
- In order to calculate the response ratio, CPS inventory CmHandleQueries could be used.
Finally, the NCMP create outcome message, and publish it to the topic cm-avc-subscription-response.
The outcome message format could be like:
...
language | text |
---|---|
collapse | true |
...