...
# | Issue | Notes | Decisions |
---|---|---|---|
1 | Delete the subscription from the database? |
| |
2 | What do we need to send to the DMI Plugin so that they are able to decide that how to delete the ongoing subscription. |
| Only the subscriptionId has to be sent to the DMI plugin |
3 | Who should be able to retry and make sure the subscriptions are deleted from the respective DMIs managing the devices. | kieran mccarthy The agenda for the next meeting. We can decide then. More on the "DELETING" stage ( if we want to have it ) | kieran mccarthy As discussed on , The DME should be able to maintain Subscription State and make decision when to retry based on the response outcome we provide to it for create and/or delete use cases. |
4 | DME to NCMP Event to have targets and datastore-xpath-filter information for the subscription delete use case ? | kieran mccarthy As per the discussion today we agreed to use targets , datastore-xpath-filters and datastores for the subscription delete use case. | |
5 | Do we send additional properties from NCMP to DMI | Are additional properties needed to delete the subscription |
Algorithm for CM Subscription Delete
...
PlantUML Macro | ||
---|---|---|
| ||
@startuml 'https://plantuml.com/activity-diagram-beta start : DME to send Cm Subscription Delete Request; : NCMP to extract out subscriptionId; : using subscriptionId , Query all the tracked Cm Subscriptions; : Populate details in Cm Notification Subscription Cache; if (all the Subscription predicates are part of ongoing Subscriptions ) then (YES) : directly delete the subscriptionId from the ongoing subscribers list from DB; : mark the subscription delete request as ACCEPTED in the cache; : respond back to the client with ACCEPTED ; else (NO) : for all the 'last lights out' predicate information call the DMI Plugin; if (DMI Plugin accepts the delete request) then (YES) : using the information present in cmNotificationSubscriptionCache, delete the records from DB; : mark the subscription delete request as ACCEPTED in the cache; : respond back to the client with ACCEPTED; else (NO) : dont delete any records from DB; : mark the subscription delete request as REJECTED in the cache; : respond back to the client with REJECTED; endif endif : cleanup the cache; stop @enduml |
...