...
# | 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. |
| |
3 | The subscription delete request 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 make decision when to retry based on the response outcome we provide to it. |
Overview
- We receive an event of type : subscriptionDeleted from the client ( DME ) containing the subscription clientId and subscription name along with datastore and dataCategory details ( DMEtoNCMP )
- We check in NCMP that we have an ongoing subscription using clientId and subscriptionName.
- If we have ongoing subscription , we forward the event to dmi-plugins so that the changes are applied in the devices managed by dmi-plugin as well. ( Delete Subscription CM Event )
- Now if the dmi-plugins have applied the request then we get an event back from dmi-plugin and NCMP will process that event and based on that it will delete the ongoing subscription request from the database itself. If the response from DMI plugins is accepted ( i.e it can delete the subscriptions from the underlying devices and no subscription delete request are in PENDING or REJECTED state )Then we delete the subscriptions from the DB as well. ( Delete Subscription CM Event )
- After processing the received event from DMI , NCMP will send the final event to the client (DME). ( Delete Subscription CM Event )
...
PlantUML Macro | ||||
---|---|---|---|---|
| ||||
@startuml "SubsciptionSubscription Delete" participant CLIENT participant NCMP participant DMI_PLUGIN CLIENT -> NCMP: 1. Incoming subscriptionDelete event NCMP -> DMI_PLUGIN: 2. ncmp to forward event to dmi plugin DMI_PLUGIN -> DMI_PLUGIN: 3. Apply the requested event and respond with the status DMI_PLUGIN --> NCMP: 4. Status of the subscriptionDelete request whether accepted/rejected/pending NCMP --> NCMP: 5. If all accepted then only remove the subcription data from DB NCMP --> CLIENT: 6. Respond with the status that we received from dmi plugin @enduml |
...