References
- - CPS-1616Getting issue details... STATUS
- - CPS-1615Getting issue details... STATUS
- Impl. Proposal CM Event Subscription LCM: Create
- Impl. Proposal CM Event Subscription LCM: Delete
Requirements
Functional
# | Interface | Requirement | Additional Information | Signoff |
---|---|---|---|---|
1 | CPS-E-08 | NCMP will forward 'CM Notifications Subscription' LCM Create events to the appropriate DMI Plugins responsible for the CM Handles (ids) defined in the LCM Events. The message sent to DMI should include the private properties for each CM-Handle | ||
2 | CPS-E-08 | NCMP will forward 'CM Notifications Subscription' LCM Delete events to the appropriate DMI Plugins responsible for the CM Handles is defined in the LCM Events. | ||
3 | CPS-E-08 | NCMP responds using Kafka message(s) with the result of the LCM operation These messages wil use agreed status fields:
| ||
4 | CPS-E-08 | All events should use Cloud Events format | https://cloudevents.io/ |
Error Handling
# | Error Scenario | Expected behavior |
---|---|---|
1 | Non responding DMIs (configurable timeout) | An error message listing the 'pending' CM Handle IDs and statusMessage as "partially applied subscription" with relevant statuscode. |
2 | Non Existing or non-valid CM Handle Ids | An error message listing the 'rejected' CM Handle IDs |
3 | DMI Plugin without CM Event subscription support | An error message listing the 'rejected' CM Handle IDs |
4 | Late (after timeout defined in #1) responding DMIs | A message contain the status message as "fully applied subscription" with relevant status code. |
Characteristics
# | Parameter | Expectation | Notes |
---|---|---|---|
1 | Frequency of LCM Events | No high volume of such events is expected For testing purposed 1 LCM event per minute would suffice | |
2 | How many subscriptions | ||
3 | How many cmhandles will be there per subscription | ||
4 | How many datastore-xpaths-filter for the subscription |
Out-of-scope
- Working with the wildcards, only list of specific CM Handle IDs are supported
- Subscription Update scenarios for an ongoing subscription.
Assumptions
# | Assumption | Notes |
---|---|---|
1 | Developing based on the schemas we previously agreed. Any change in the schemas will impact in code change. |
Issues & Decisions
# | Issue | Notes | Decision |
---|---|---|---|
1 | Maximum number of cm data subscriptions for create and delete use case | ||
2 | Maximum, Average CM Handles/subscription | ||
3 | Maximum, Average XPaths/CmHandles | ||
4 | What all datastores are supported ? | ncmp-datastore:passthrough-running or ncmp-datastore:passthrough-operational ?? or both? | |
5 | Will migration to new 'advanced' subscriptions (with merge function) be supported | wil be costly. Or required model update BEFORE the basic subscription functionality is delivered |
Overview
- Page to keep track of the underlying use case for Subscription Create and Subscription Delete.
- The events used will adhere to CNCF Cloud Events.
- NCMP wil not be responsible for keeping the 'state' of any subscription and thus decide which CM Events should be forwarded
Kafka Topics
# | Topic Name | Environment Variable | Source | Destination | Notes |
---|---|---|---|---|---|
1 | subscription | NCMP_CM_AVC_SUBSCRIPTION | DME | DME/Client-Apps | |
2 | ncmp-dmi-cm-avc-subscription-<dmi-name> | NCMP_FORWARD_CM_AVC_SUBSCRIPTION | NCMP | DMI Plugin | |
3 | dmi-ncmp-cm-avc-subscription | NCMP_RESPONSE_CM_AVC_SUBSCRIPTION | DMI Plugin | NCMP | |
4 | subscription-response | NCMP_OUTCOME_CM_AVC_SUBSCRIPTION | NCMP | DME/Client-Apps | |
5 | dmi-cm-events | DMI_CM_EVENTS_TOPIC | DMI Plugin | NCMP | actual data notifications as per the subscriptions |
6 | cm-events | NCMP_CM_EVENTS_TOPIC | NCMP | DME/Client-Apps | NCMP to forward the notifications to the client-apps. |