Versions Compared

Key

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

...


IssueNotes Decision
1Is FDN optional?Is it possible to register a cmHandle without an FDN?

Toine Siebelink Yes it is optional as not everyone will use it

2In Hazelcast what is the key?Is it the FDN or the cmHandleId?

Toine Siebelink create 2 maps:

  1. alternate id → cm-handle-id
  2. cm-handle-id → alternate id
3Check 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.
However if a previously created CM Handle's alternate ID is not defined then an update should be possible.
The only way to change this value is to delete the current CM Handle and then re-register it.

4Should we persist the alternateId?Should we modify the registry model?

Toine Siebelink Yes, the Inventory Model should update with the AlternatId as detailed below

5Alternative 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 FDNs will be Unique 

6Add a cm Handle with a alternate ID that is already in use (for another CM Handle)

Error report solution will be easier if we do NOT add it and treat it like a 'normal' duplicate cm handle

kieran mccarthy do not add! Rephrase error to
'CM Handle Id or Alternate ID already in use'

7

Alternate identifiers during registration

...

RestInputCmHandle

Field nameType
cmHandle

String

cmHandleProperties

Object

publicCmHandleProperties

Object

moduleSetTag

String

trustLevel

String

alternateId

String

Save the cmHandleId and the alternateId to caches

During registration the new identifier must be saved to a cache. Because it could be reused later for queries.

The new cache must implement two maps (Map<String, String>).

The first map should be structured in a way where the original CM Handle ID is the key and the alternate ID is the value.

The second map should be the other way around.

...


Inventory Use cases

create (initial inventory)

...

In case of a DELETE operation only the cmHandleId provided in an array of strings.

However during removal we should check if any of the two caches containing the cmHandleId and that is the case we should remove those entries.

upgrade

Assuming that it's ignored.

...

Error Reporting

Error Scenarios


Use-caseCM Handle IdAlternate IdReportAdd Cm HandleStore Alternate IDNotes
1New registrationDuplicatedN/A109,
CM Handle Id or Alternate ID already in use
cm-handle already existsNoNo
Existing error, change message!

2New RegistrationUniqueused for other cm handle
109
111, alternate id already
in use
associatedNoNo
Existing error, change message!
See decision on issue #4
New NCMP error
3Update RegistrationNewN/A100,
does not exist
cm handle id(s) not foundN/ANo
4Update RegistrationExistalready set111,
cannot re-assign
alternate id already associatedN/ANoNew
Error Code
NCMP error
5Update RegistrationExistUse by other cm handle111,
cannot re-assign
alternate id already associatedN/ANoNew
Error Code
NCMP error

Current Implementation of Duplicate Cm Handle Registration (during batch)

...