...
# | Interface | Requirement | Additional Information | Sign Off |
---|---|---|---|---|
1 | CPS-E-08.e | NCMP is to merge CM Notification Subscriptions Create request for the same CM Handle & XPath(s) |
| |
2 | CPS-E-08.e | Last lights out: upon subscription Delete request only when there is no more subscription for a cm-handle & xpath combination a subscription-delete request wil be send to the relevant DMI(s) | ||
3 | CPS-E-08.e | Amalgamation per DMI: all subscription updates originating from a single client request should be send to a single DMI in one request (message). Of course there can be several message if more than 1 DMI is involved. | ||
4 | CPS-NCMP-I-01 | CM Handle deletion should update subscription details | do NOT delete dmi-subscription entry until owning subscription is deleted, see issue #4 below | |
5 | CPS-E-08.e | backward compatible with 'basic' created/delete operations.. TBD | could use versioning in API–methods and schema's to handle this?! |
Error Handling
Error Scenario | Expected behavior | Sign-off | |
---|---|---|---|
1 | DMI Down | rejected | |
2 | DMI Not responding withing 30 sec | pending | |
3 | create for non-existing cm handle id | rejected | |
4 | delete for non-existing cm handle id | (silently?) ignore | |
5 | any operation on non-existing xpath | ignore? (no or minimal validation, see issue #5) | |
6 | delete for non existing name/client-id | TBD | |
7 | delete for no existing cm-handle id | TBD | |
8 | error upon error | An error scenario on a second subscription for the same cm-handle/xpath as a previous subscription which did not complete successfully (yet) to be discussed, see tabel below |
...
# | Issue | Notes | Decision |
---|---|---|---|
1 | Is it intended that CM Notification subscription request cover (all) descendants of the given xpath too?! | e.g.. if a child is removed and there is a subscription for the parent node, will a notification be send (grandchild, child leaf updates etc.) I hope NOT! | |
2 | Could xpath point to an element that does not exist (yet) | if not how, how can I client be informed about a create event? | |
3 | Should NCMP support re-homing, moving of a CM Handle from one DMI to another? | assume only trough delete & create | |
4 | CM Handle Delete: Should DMI or Clients be sent a subscription update (assume no) | do NOT delete dmi-subscription entry until owning subscription is deleted (just ignore upon future delete if cm handle is gone altogether) | |
5 | Validation of xpath | options order of implement and also performance cost!
| |
6 | can DMI plugin 'reject' a subscription create (for a given cm-handel-xpath combination) | As NCMP might not validate as per issue#5 the DMI=plugin or component further down might have to reject an invalid xpath... | yes currently DMI can use response to say which cm handles are not accepted i.e. rejected' (but not 'pending') |
7 | implementation question: should 'rejected' DMI-subscriptions be stored | I would think not |
Solution Proposals
Current state handling for 'basic' (not merged) subscription create/delete (under development)
Expand |
---|
Scenario 1 NCMP Send message to client: Statsu OK (no list with Rejected/Pending)
NCMP Send messge to client: Pending [CH-1, CH-2] Scenario 3 NCMP Send message to client: Rejected [CH-2] Scenario 4: Scenario 4-part a NCMP -> Client : Rejected [CH-4], Pending [ CH-5, CH-6, CH-7, CH-8 ] 4-part b 4-part c |
Note. The above algorithm depends ons storing (in DB using yang modelled data) a cm-handle status for each cm-handle for each subscription!
Merge → Split
- NCMP treats a Client Subscription as one or more (small) DMI Subscriptions, each of which wil have there own state.
Each DMI Subscription is related to 1 or more client subscriptions.
If there is no more related client subscription the DMI Subscription can be deleted (once accepted by DMI Plugin)!
...