CPS-2234 Identify and List all Legacy Interfaces

Assumptions

#AssumptionNotesSign-off
1Message-driven interfaces (event kafka driven) are already covered and do not require modificationAgreed this is an Out of scope for this epic
2FDN when part of URI's can be % encoded Agreed no issues with this 

Requirement


InterfaceRequirement Notesignoff
1

NCMP shall be expected to return back alternateID when alternateid is passed in

NCMP shall be expected to return back to the normal cmhandle error scenario if alternateID is NOT passed on 




2
Performance Impact 
  1. This shall be based on par unique identifier. 
  2. For most legacy interfaces Performance impact was never agreed.
  3. CPS should do performance check before and after for comparable value
  4. FYI - Increase of 30 ms shall be allowed

Issues & Decisions


IssueNotes DecisionSignoff
1To split or not to split

Exact resource path required or partial match is accepted

Exact match example:

Incoming: "CmHandle='a/b/c/d', Resource=''"

Outgoing: "CmHandleID='Ch-1', Resource='a/b/c/d'"


Partial match example:

Incoming: "CmHandle='a/b', Resource=''"

Outgoing: "CmHandleID='Ch-1', Resource='a/b/c/d'"


Append match example:

Incoming: "CmHandle='a/b', Resource=''e/f"

Outgoing: "CmHandleID='Ch-1', Resource='a/b/c/d/e/f'"


**Should split based on URI**

  • The EXACT match resource path required shall only be supported
  • Partial match will not be supported, it should be fully match and no splitting in the legacy interface


2Decision on Interfaces currently under developmentsee interfaces : CPS-E-09.e, CPS-E-10, CPS-E-11
3
Performance Impact 


  1. FYI - Increase of 40 ms shall be allowed
  2. Without alternateId 20ms, with alternateId 20ms total overhead allowable = 40ms as confirmed

Interfaces


InterfaceInterface DescriptionNotes
1CPS-E-05NCMP REST InterfaceSee decision on each individua end point
2CPS-E-08.e

CM Handle LCM events

Moved the endpoint to CPS-E-05 #15.
3CPS-E-09.e

CM Data Notification Subscription LCM (incl. merge)

Ongoing - See decision #2 under open issues
4CPS-E-10

Asynchronous . Data Jobs (bulk request). 3GPP SBMA (Service Based Management Architecture) Compliant Interface (using FDNs)

Ongoing - See decision #2 under open issues
5CPS-E-11

Synchronous Single FDN request 3GPP SBMA (Service Based Management Architecture) Compliant Interface (using FDNs) - 

Ongoing - See decision #2 under open issues
6CPS-NCMP-I-01Sync & Model APISee decision on each individua end point
7DMI-I-01DMI Plugin REST InterfaceDiscuss if interface should be included in implementation
8Application Management Interfaces

CPS Application Monitoring and Management API

Does not communicate or interact with cmHandles

Endpoints

CPS-E-05 


URIRest MethodDescriptionNotes DecisionPre- AlternateId Performance Post- AlternateId Performancesignoff
1

/v1/ch/{cm-handle}/data/ds/{datastore-name}

DELETE

Delete resource data from pass-through running for a given cm handle

Alternate ID in URIShall support

2

/v1/ch/{cm-handle}/data/ds/{datastore-name}

GET

Get resource data for given cm handle

Alternate ID in URIShall support
 30.2 ms
Build No.Time (ms)
22536
22626
22726
22833
22930

3

/v1/ch/{cm-handle}/data/ds/{datastore-name}

PATCH

Patch resource data from pass-through running for the given cm handle

Alternate ID in URIShall support

4

/v1/ch/{cm-handle}/data/ds/{datastore-name}

POST

create resource data from pass-through running for given cm handle

Alternate ID in URIShall support

5

/v1/ch/{cm-handle}/data/ds/{datastore-name}

PUT

Update resource data from pass-through running for the given cm handle

Alternate ID in URIShall support

6

/v1/data

POST

Execute a data operation for group of cm handle ids

Alternate ID as part of target IDsShall support

7

/v1/ch/{cm-handle}/data/ds/{datastore-name}/query

GET

Query resource data for a given cm handle

Alternate ID in URINOT use in // and not supported by //

8

/v1/ch/{cm-handle}/modules

GET

fetch all module references (name and revision) for a given cm handle

Alternate ID in URIShall support

9

/v1/ch/{cm-handle}/modules/definitions

GET

Get module definitions (module name, revision, yang resource) with options to filter on module name and revision

Alternate ID in URIShall support

10

/v1/ch/searches

POST

Execute cm handle query search and return a list of cm handle details.

Not applicable in post, Alternate ID would be contained in returnNo impact (No change needed)

11

/v1/ch/{cm-handle}

GET

Retrieve CM handle details and properties by cm handle id

Alternate ID in URIShall support

12

/v1/ch/{cm-handle}/properties

GET

Get CM handle properties by cm handle id

Alternate ID in URIShall support

13

/v1/ch/id-searches

POST

Execute cm handle query search and return a list of cm handle ids.

Not applicable in post or return

Shall support (TBD) Csaba Kocsis  to propose.

Kolawole Adebisi-Adeolokun CPS to implement option #1 optional query parameter



Csaba Kocsis Proposal:

option #1: optional query paramater that say which id is to be return, default value cmhandleid.

option #2 new interface called alternateid-searches with the same capabilities

14

/v1/ch/{cm-handle}/data-sync

PUT

Set the data sync enabled flag to true or false for a specified Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and NONE_REQUESTED respectfully.

Alternate ID in URINOT use in // and not supported by //

15

v1/ch/{cm-handle}/state 

GET

Get CM handle state by cm handle id. (Not event driven, moved out of CPS-E-08.e)

Alternate ID in URIShall support

CPS-NCMP-I-01 


URIRest MethodDescriptionNotes DecisionSignoff
1

/ncmpInventory/v1/ch

POST

Register a DMI Plugin with any new, updated or removed CM Handles

Already Supported - Alternate IDs are already being registered here.Already Supported
2

/ncmpInventory/v1/ch/cmHandles

GET

Get all cm handle IDs for a registered DMI plugin

Output will be affected

Shall support (TBD) Csaba Kocsis   to propose

Csaba Kocsis Same proposal as #13 for cps-e-05

   

Kolawole Adebisi-Adeolokun

CPS to implement optional query parameter

3

/ncmpInventory/v1/ch/searches

POST

Query and get CM Handle Ids for additional properties, public properties and registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin).


Shall support (TBD). (Might be the same as #13 in e-05)

AP Seán Beirne 

Kolawole Adebisi-Adeolokun 

 CPS to implement optional query parameter

DMI-I-01 


URIRest MethodDescription
Signoff
1

/dmi/v1/ch/{cmHandle}/modules

POST

Get all modules for given cm handle

Shall support - development from // needed. CPS shall update documentation 
2

/dmi/v1/ch/{cmHandle}/moduleResources

POST

Retrieve module resources for one or more modules

Shall support - development from // needed. CPS shall update documentation 
3

/dmi/v1/inventory/cmHandles

POST

register given list of cm handles (internal use only)

internal use only - CPS to review
4

/dmi/v1/ch/{cmHandle}/data/ds/{datastore-name}

POST

Get resource data from passthrough operational or running for a cm handle

Shall support - development from // needed. CPS shall update documentation 
5

/dmi/v1/data


POST

Execute a data operation for group of cm handle ids by supplied operation details

Shall support - development from // needed. CPS shall update documentation 

Error Scenarios 

  • It shall be exact match, no error scenarios expected ?
  • Performance shall be closely monitored as part of the requirement #2

Out of scope

Message-driven interfaces (event kafka driven) are already covered and do not require modification

User Stories

  • Document Performance of affected endpoints before work commences
  • Create handler to parse URI and determine cmHandle vs alternate id (Should cover CPS-E-05 1-5,8,9,11,12,15)
  • Parse POST data for /v1/data endpoint (CPS-E-05 6) and extract and process alternate ids from target list
  • Update Documentation for DMI-I-01
  • Document performance after work has been completed to determine if it falls within acceptable limits (30 ms)