Versions Compared

Key

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

Table of Contents

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

2

IssueNotes DecisionSignoff
1
CmNotificationSubscription kafka interfaceRequires determination on coverage InterfaceAffectedRequirementAdditional InformationSign-off
To 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'"

3Throw exception for non-exact match

Throw CmHandleNotFound when incoming FDN does not contain perfect resource match

Interfaces


**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-05
YESURI
NCMP REST InterfaceSee decision on each individua end point
2CPS-E-08.e
YESURI 

CM Handle LCM events

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

YES*

New Requirement for Montreal

*Should be included as part of requirements/planning for interface implementation

CM Data Notification Subscription LCM (incl. merge)

Ongoing - See decision #2 under open issues
4CPS-E-10
YES*Not yet implemented*Should be included as part of requirements/planning for interface implementation

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
YES*Not yet implemented*Should be included as part of requirements/planning for interface implementation

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-01
NONo Changes - Alternate ID will be converted to Cmhandle ID when this interface is reached 
DMI Plugin REST InterfaceDiscuss if interface should be included in implementation
8Application Management Interfaces
NO

CPS Application Monitoring and Management API

Does not communicate or interact with cmHandles

Endpoints

CPS-E-05 

URIRest MethodDescriptionNotes Decision1/ncmp/

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


Expand
title30.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 URI

CPS-E-08.e

NOT use in // and not supported by //

15

v1/ch/{cm-handle}/

state

state 

GET

Get CM handle state by cm handle id

Alternate ID in URI

. (Not event driven, moved out of CPS-E-

...

08.e

...

CPS-E-10 - Not Yet Implemented

...

CPS-E-11 - Not Yet Implemented

URIRest MethodDescriptionNotes Decision1

)

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

CMHandleIds

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
Notes Decision

Signoff
1

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

POST

Get all modules for given cm handle

Internal - not applicable

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

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

POST

Retrieve module resources for one or more modules

Internal - not applicable
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 - not applicable

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

Internal - not applicable

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

Internal - not applicable

Application Management Interfaces

...

/manage/health/db

...

provides information on database type and connectivity state

...

/manage/health/diskSpace

...

provides information on current disk space usage and threshold configured

...

/manage/health/ping

...

ability to be pinged (always UP)

...

/manage/health/readiness

...

indicates the application completed the initialization stage and ready to accept the requests

...

/manage/health/liveness

...

 indicates the application is up and running, no need to restart the container

...

/manage/loggers

...

provides information about all the loggers configured

...

/manage/loggers/{logger-id} 

...

retrieves log level settings for requested logger identifier

...

/manage/loggers/{logger-id} 

...

updates or resets the log level settings for requested logger identifier

Proposed User Stories

...

  • Changes must test for create and update case

...

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)