Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

#

Issue

Notes

Decisions

1

Delete the subscription from the database?

  1. When do we actually delete the subscription from CPS DB ? We plan to do it when we receive response from the DMI plugins and the underlying subscriptions from the devices are deleted.

2What do we need to send to the DMI Plugin so that they are able to decide that how to delete the ongoing subscription.
  1. subscription name + client id
  2. + cmhandle ids?
  3. + cmhandle properties?
  4. + datastore?

3The 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

  1. 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 )
  2. We check in NCMP that we have an ongoing subscription using clientId and subscriptionName.
  3. 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 )
  4. 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 )
  5. After processing the received event from DMI , NCMP will send the final event to the client (DME). (  Delete Subscription CM Event )

...

PlantUML Macro
aligncenter
titleSubscription Delete
@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

...