References
Jira Legacy server System Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-2007 - CPS-2007 - Update NCMP Events to include Alternate ID - EST Projects - eTeamSpace (ericsson.net)
References
CPS-2007
Assumptions
1 | on CM Handle Life Cycle Management (LCM) Events will be augmented with Alternate IDs | Out of scope (for this epic) All of below needs be considered for CPS-2008 - Update existing single sync cmhandle APIs to support alternative id (containing FDNs) and CPS-2009 - Update remaining existing/legacy NCMP APIs to support alternateId (FDN)
|
Issues & Decisions
1 | Should version of schema definition be updated (to v2) for | Change is backward compatible. So new version not needed? (Csaba has checked, clients are ignoring 'unknown' fields) | Keep event name (if possible)
| |
2 | CM Handle LCM events are not a cloud events yet | 2 components have to be updated, Csaba will check impacts required.
| CPS Team prefers convert to cloud event first CPS are to keep Legacy events. Till //EE are ready to take cloud event on their side- CPS-2058 | |
3 | The Alternate Id will be available only in the LCM Message (body) not as a header | Part of review of proposed cloud event structure Might want to create a custom extension for 'alternate id' (to be able to filter) | ||
4 | Should the alternateId be included in the Values (newValues/ oldValues) part of the event? | In initial implementation alternateId was included in the Values part of the event, so if alternateId is changed from an empty string to some string an empty string should be present in the oldValues and some new string should be present in the newValues. But this isn't the case since the lcm event is only sent when the state is changed e.g going from ADVISED to READY. This can be replicated with cmHandleProperties. Topology consumes LCM event. We only need NEWvalues AlternateID would appear as part of the body (Body/old/new) It's should not appear in the old/new at all. | Should this event be sent if some propoerty changes ? - No It's only expected to change when the LCM statechanges
|
Requirements
Functional
Interface | Requirement | Additional Information | ||
---|---|---|---|---|
1 | CPS-E-08.E | NCMP shall send notification LCM CLOUD events which will include the Alternate Id |
| Kolawole Adeolokun Kieran Mccarthy A @Peter T |
Error Handling
No obvious error scenarios that need discussion
Characteristics
No new requirements but as Alternate Ids needs to be looked up it is important to note that producing LCM events (or related responses such as registration) should not be (significantly) delayed by this requirement. The previous Epic already implements a distributed cache for Alternate Ids. Design does not expect any such impacts and no specific performance testing is required. Assume that existing performance regression test in CPS and Client Side will highlight if we are wrong here
Out-of-scope
- All other events and synchronous responses (see details in assumption #2)
Solution Proposal
Current Event Definitions
lcm-event-header=v1 (FYI only, not changing)
lcm-event-schema-v1 (current)
Proposed Changes
- Add single field to
lcm-event-schema-v1
(or v2, see open issue #1):
Payload | alternateId | data | String | No | Alterative Identifier for CM Handle (e.g. 3GPP FDN) | <free text> | oud-alternative-id |
Element | Name | Parent | Type | Mandatory | Description | Format | (example) Value |
---|
Proposed User stories
1 | Add alternatId to |
Notifications on LCM
Proposal for Notification's Schema
Cloud event Definition
Element | Name | Parent | Type | Mandatory | Description | Format | (example) Value | |
---|---|---|---|---|---|---|---|---|
Element | Name | Parent | Type | Mandatory | Description | Format | (example) Value | |
1 | Header | id | String | Yes | random id for cloud event header. UUID is suggested | |||
2 | source | String | Yes | source of information | ncmp.<cmhandle-id> | ncmp.12ac34e43556e | ||
3 | specversion | String | Yes | cloud event version spec | fixed value | 1.0 | ||
4 | type | String | Yes | type of event | fixed value | lcmEvent | ||
5 | dataschema | String | Yes | data schema | fixed value | org.onap.cps.ncmp.events.lcm.1_0_0.LcmEvent:1.0.0 | ||
6 | correlationid | String | Yes | The cmHandle which is been notified. The value will be similar as we have in the source field | <cmhandle-id> | 12ac34e43556e | ||
7 | Payload | data | Object | Yes | The actual data payload. Data details provided below | 3GPP TS 28.532 standard | ||
8 | cmHandleId | data | String | Yes | cmHandle id | <cmhandle-id> | 12ac34e43556e | |
9 | alternateId | data | String | Yes | Alternative identifier for CM Handle (e.g. 3GPP FDN, blank if not defined) | <free text> | our-alternative-id | |
10 | oldValues | data | Values | No | Old values of the state of the cmHandle. Values details provided below | |||
11 | newValues | data | Values | No | New values of the state of the cmHandle. Values details provided below | |||
12 | dataSyncEnabled | oldValues | newValues | Boolean | No | Whether data sync enabled | <true | false> | true | |
13 | cmHandleState | oldValues | newValues | String | No | State of cmHandle | <enum> | READY | |
14 | cmHandleProperties | oldValues | newValues | List<Map<String,String>> | No | cmHandle properties | |||
15 | alternateId | oldValues | newValues | String | No | used when modified only (data.alternateId will always have the latest value) | <free text> | our-alternative-id |