...
Assumptions
Issue | Notes | Sign-off | |
---|---|---|---|
1 | alternateId not used when processing 'deletedCmHandles' or 'upgradedCmHandles' | Any alternateId stored in the cache earlier will be used | |
2 | In case of updating, when users try to change an alternateId we should ignore it. | Ignore it a silent way (e.g: logging message), no exception should be thrown! | Kolawole Adebisi-AdeolokunYes, ignore as long as it is documented this is not supported (yaml) |
3 | a unique CM Handle ID (populated with hashes) will remain in place | to support duplicated alternated IDs, see also decision #5 |
Issues & Decisions
Issue | Notes | Decision | |
---|---|---|---|
1 | Is FDN optional? | Is it possible to register a cmHandle without an FDN? | Toine Siebelink Yes it is optional as not everyone will use it |
2 | In Hazelcast what is the key? | Is it the FDN or the cmHandleId? | Toine Siebelink create 2 maps:
|
3 | Check alternateId in 'updatedCmHandles' | Assuming updatedCHandle should NOT be used to correct/change the AlternateId for a CmHandleId | Alternate IDs are immutable once they are set. |
4 | Should we persist the alternateId? | Should we modify the registry model? | Toine Siebelink Yes, the Inventory Model should update with the AlternatId as detailed below |
5 | Alternative ID is NOT unique! | multiple NMs might be using same subnetwork names i the FDNs and as NCMP manage multiples NM's NCMP can encounter duplicates. | kieran mccarthy explained. Agreed actions:
|
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
module dmi-registry { yang-version 1.1; namespace "org:onap:cps:ncmp"; prefix dmi-reg; contact "toine.siebelink@est.tech"; revision "2023-11-27" { description "Added alternateId"; } revision "2023-08-23" { description "Added ModuleSetTag"; } revision "2022-05-10" { description "Added DataSyncEnabled, SyncState with State, LastSyncTime, DataStoreSyncState with Operational and Running syncstate"; } revision "2022-02-10" { description "Added State, LockReason, LockReasonDetails to aid with cmHandle sync and timestamp to aid with retry/timeout scenarios"; } revision "2021-12-13" { description "Added new list of public additional properties for a Cm-Handle which are exposed to clients of the NCMP interface"; } revision "2021-10-20" { description "Added dmi-data-service-name & dmi-model-service-name to allow separate DMI instances for each responsibility"; } revision "2021-05-20" { description "Initial Version"; } grouping LockReason { leaf reason { type string; } leaf details { type string; } } grouping SyncState { leaf sync-state { type string; } leaf last-sync-time { type string; } } grouping Datastores { container operational { uses SyncState; } container running { uses SyncState; } } container dmi-registry { list cm-handles { key "id"; leaf id { type string; } leaf dmi-service-name { type string; } leaf dmi-data-service-name { type string; } leaf dmi-model-service-name { type string; } leaf module-set-tag { type string; } leaf alternate-id { type string; } list additional-properties { key "name"; leaf name { type string; } leaf value { type string; } } list public-properties { key "name"; leaf name { type string; } leaf value { type string; } } container state { leaf cm-handle-state { type string; } container lock-reason { uses LockReason; } leaf last-update-time { type string; } leaf data-sync-enabled { type boolean; default "false"; } container datastores { uses Datastores; } } } } } |
Error Reporting
Error Scenarios
Use-case | CM Handle Id | Alternate Id | Report | Add Cm Handle | Store Alternate ID |
---|---|---|---|---|---|
New registration | Duplicated | N/A | 109, Duplicate CM Handle | No | No |
New Registration | Unique | used for other cm handle | 111, cannot re-assign | Yes | No |
Update Registration | New | N/A | 100, does not exist | No | No |
Update Registration | Exist | already set | 111, cannot re-assign | No | No |
Update Registration | Exist | Use by other | 111, cannot re-assign | No | No |
Proposed JIRAs
Component | Description | JIRA | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | NCMP | Modify cmHandle registration for alternateId |
| ||||||||||||
2 | NCMP | Allow updating of cmHandles with an alternateId |
| ||||||||||||
3 | NCMP | Update Model to allow Persisting of alternateId |
| ||||||||||||
4 | NCMP | Introduce Hazelcast for alternateId-cmHandle relation |
| ||||||||||||
5 | NCMP | None uniqueness of alternateid |
|
...