Table of Contents |
---|
...
# | Interface | Requirement | Additional Information |
---|---|---|---|
1 | CPS-NCMP-I-01 | A Rest endpoint to allow DMI Plugin Reregistration, A kafka interface for DMI Plugin to provide trust level state changes for a CM Handle | Reregistration is to reregister all CMHandles managed by a CMHandle. Kafka interface schema allows for CMHandle as id and trust level as only value in data |
2 | DMI-I-01 | A Rest endpoint to trigger DMI Plugin Reregistration | Asynchronous interaction to trigger DMI Plugin to hit endpoint in CPS-NCMP-I-01 with reregistration |
Error Handling
# | Error Scenario | Expected behavior |
---|---|---|
1 | DMI Plugin goes down | CMHandles managed by that DMI have NONE trust level, when the DMI comes back up, a reregistration process occurs, CMHandles are individually assessed for trust level then. |
2 | Node goes down | DMI Plugin informs NCMP of the trust level state change. DMI will update on changes to a cmhandles trust level change. |
Capabilities
- re-registration, once a day, same requirement as first time registration
- single node heart beat failures 30,000 / minutes per instances
...
Health check endpoint already exists
http://'$1'/manage/health/readiness
Hazelcast Map
When DMI comes back up, DMI does audit and provides list of Trustworthy CM Handles
...
When checking the trust level for a CMHandle first check the trust level of that CMHandle's DMI Plugin
If None return None
If Full check trust level for the CMHandle and return that
Last Data Update
OUT OF SCOPE
Trust Level defined by Client's use of NCMP endpoints to change data related to a CMHandle (passthrough only).
10 minute limit should be configurable with 10 as default.
Stored in public properties
...
Open Question: External Notifications NCMP is subscribed to should effect this?
...
Assumption is that at CMHandle registration the CMHandle is originally persisted as NONE trustLevel
As CMHandle moves to READY, NONE moves to COMPLETE, Else stays as NONE
The DataSync does not effect this as is related to cache.
...
What Data?
...
What about changes to the CMHandle Properties etc?
...
Schema Model Mismatch
OUT OF SCOPE
Occurs when data change has been called for a CMHandle and the data change does not fit the defined schema for that CMHandle Anchor (passthrough only).
If this error occurs Trust Level is set to NONE.
Open Questions
...
Do we have to store the trust level or can it be calculated when asked?
...
High Level Interactions
Drawio | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Interface | Name | Trigger | Description | Type | Endpoint or Topic |
---|---|---|---|---|---|
1 | HealthCheck | 30 second interval (configurable) | NCMP is to perform a health check against each of the DMI Plugins | REST | /health |
2 | Reregistration request | DMI Plugin has gone down and comes back up | NCMP makes a call to that DMI Plugin telling it to reregister | REST | TBD |
3 | Reregistration | DMI Plugin received a reregistration request | DMI Plugin makes a call to NCMP to reregister its CM Handles | REST | /v1/ch/reregistration |
4 | CMHandle trust level change | A CMHandle managed by DMI Plugin's trust level has changed | data contains {trustLevel: ENUM} event id is cmhandle id | Kafka | TBD |
5 | TrustLevel Request | Client Request | TrustLevel is to be returned based on the values in above Maps | REST | TBD |