Table of Contents |
---|
Assumptions
# | Assumption | Notes | Sign-off |
---|---|---|---|
1 | Message-driven interfaces (event kafka driven) are already covered and do not require modification | Agreed this is an Out of scope for this epic | |
2 | FDN when part of URI's can be % encoded | Agreed no issues with this |
Requirement
Interface | Requirement | Note | signoff | |
---|---|---|---|---|
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 |
|
Issues & Decisions
Issue | Notes | Decision | Signoff | |
---|---|---|---|---|
1 |
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'" |
Throw CmHandleNotFound when incoming FDN does not contain perfect resource match
Interfaces
**Should split based on URI** |
| |||
2 | Decision on Interfaces currently under development | see interfaces : CPS-E-09.e, CPS-E-10, CPS-E-11 |
| |
3 | Performance Impact |
|
Interfaces
Interface | Interface Description | Notes |
---|
1 | CPS-E-05 |
NCMP REST Interface | See decision on each individua end point |
2 | CPS-E-08.e |
Moved the endpoint to CPS-E-05 #15. | |
3 | CPS-E-09.e |
YES*
New Requirement for Montreal
Ongoing - See decision #2 under open issues | |
4 | CPS-E-10 |
Asynchronous . Data Jobs (bulk request). 3GPP SBMA (Service Based Management Architecture) Compliant Interface (using FDNs) | Ongoing - See decision #2 under open issues |
5 | CPS-E-11 |
Synchronous Single FDN request 3GPP SBMA (Service Based Management Architecture) Compliant Interface (using FDNs) - | Ongoing - See decision #2 under open issues | ||
6 | CPS-NCMP-I-01 | Sync & Model API | See decision on each individua end point |
7 | DMI-I-01 |
DMI Plugin REST Interface | Discuss if interface should be included in implementation | ||
8 | Application Management Interfaces | Does not communicate or interact with cmHandles |
Endpoints
CPS-E-05
URI | Rest Method | Description | Notes | Decision | Pre- AlternateId Performance | Post- AlternateId Performance | signoff | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 URI | Shall support | ||||||||||||||||||||
2 | /v1/ch/{cm-handle}/data/ds/{datastore-name} | GET | Get resource data for given cm handle | Alternate ID in URI | Shall support |
| |||||||||||||||||||
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 URI | Shall 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 URI | Shall 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 URI | Shall support | ||||||||||||||||||||
6 | /v1/data | POST | Execute a data operation for group of cm handle ids | Alternate ID as part of target IDs | Shall support | ||||||||||||||||||||
7 | /v1/ch/{cm-handle}/data/ds/{datastore-name}/query | GET | Query resource data for a given cm handle | Alternate ID in URI | NOT 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 URI | Shall 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 URI | Shall 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 return | No impact (No change needed) | ||||||||||||||||||||
11 | /v1/ch/{cm-handle} | GET | Retrieve CM handle details and properties by cm handle id | Alternate ID in URI | Shall support | ||||||||||||||||||||
12 | /v1/ch/{cm-handle}/properties | GET | Get CM handle properties by cm handle id | Alternate ID in URI | Shall 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 | 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 | GET | Get CM handle state by cm handle id |
. (Not event driven, moved out of CPS-E- |
...
08.e |
...
) | Alternate ID in URI | Shall support |
...
CPS-E-10 - Not Yet Implemented
...
CPS-E-11 - Not Yet Implemented
...
CPS-NCMP-I-01
URI | Rest Method | Description | Notes | Decision | Signoff | |
---|---|---|---|---|---|---|
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 |
|
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 Sean Beirne | waiting for response |
DMI-I-01
URI | Rest Method | Description |
---|
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)