CPS-278 Spike Analyse E2E API PUT methods
- CPS-278Getting issue details... STATUS
Analyse API PUT calls listed on this page for E2E slicing use case (priority 1 and 2)
- Ensure use case is clear using model and data example
- Find out required (new) update functionality in CPS (several API calls might need the same CPS functionality.
- One API call might require more than one CPS-Core call, indicate in the report if this is the case
- One API call might need to access more than one model (report!)
- Distinguish between NCMP (ran network data) and CPS-Core access for slicing specific data.
A/C
- Wiki Page with a conclusion for each API call (see toines example for API call no.2 https://lf-onap.atlassian.net/wiki/display/DW/CPS+APIs)
- Add new update functionality if needed to https://lf-onap.atlassian.net/wiki/display/DW/CPS-235%3A+Overview+of+%28early%29+CPS+Update+Scenarios
https://lf-onap.atlassian.net/wiki/display/DW/CPS-235%3A+Overview+of+%28early%29+CPS+Query+and+Update+Scenarios - Review with the full team
- Review with network slicing team
Issues and Decisions
Issue | Notes | Decision | |
---|---|---|---|
1 | What to do if the value already exists when inserting it into a list? | reject it or replace it without warning? | It can be rejected. |
2 | Would this be a new entry or is this updating an existing entry in a list for no. 4, 5, and 6? | Create a new entry, if it does not exists. Update, if it already exists. | |
3 | Confirm the exact list you a referring to in no 7? | He is referring to the list below. The expected behavior here is that update to the parent and the child list. It needs to be updated for NRCellDU, NRCellCU & GNBCUUPFunction +--rw rRMPolicyMemberList* [idx] | | +--rw idx uint32 | | +--rw mcc Mcc | | +--rw mnc Mnc | | +--rw sNSSAI? SNssai |
1. Details of Config DB APIs supported in Guilin
Please refer to below ConfigDB API swagger document for a full list of API's supported: ConfigDB Swagger JSON
Following API's are currently used to support RAN Network Slicing and OOF SON use case:
S.No | API endpoint | Description | API input/Request Payload | Yang sub-tree/element(s) accessed (for GET), or updated (for UPDATE) | Consuming Component | Target Component | Transformation Required? | Comments |
---|---|---|---|---|---|---|---|---|
3. | /api/sdnc-config-db/v4/nearRTRIC | Store nearRTRIC details | { "nearRTRICId":22, "gNBId":98763, "trackingArea":[ "Kingston" ], "resourceType":"NearRTRIC", "ranNFNSSIList":[ "11", "22" ], "pLMNInfoList":[ { "pLMNId":"310-410", "sNSSAI":{ "sNSSAI":"001-010000", "status":"ACTIVE", "globalSubscriberId":"Customer-001", "subscriptionServiceType":"Premium", "configData": { "dLThptPerSlice":25, "uLThptPerSlice":30, "maxNumberOfConns":3000 } } } ] } | cps-ran-schema-model +--rw NearRTRIC* [idNearRTRIC] | SDN-R | NCMP | suggested CPS-action: Update DataNode with children (in this case a list) all children will be replaced! All unchanged data has to be provided too. Note 1. SNSSAIList is a list contained within each element of PLMNInfo Yes. Refer Section-3 for field mapping Note 2. Please note this action replace all existing list element, it is NOT an add-to-element action <Need to discuss> Replace data node with descendants. | |
4. | /api/sdnc-config-db/v4/gNBCUCP | Store gNBCUCP, NRCellCU details | { | cps-ran-schema-model +--rw GNBCUCPFunction* [idGNBCUCPFunction] | SDN-R | NCMP | from CPS point of view this case is similar as previous case (#3), just a different target (parent)data node. suggested CPS-action: Update DataNode with children (in this case a list) all children will be replaced! All unchanged data has to be provided too! <Need to discuss> Create a new entry, if it does not exists. Update, if it already exists. | |
5. | /api/sdnc-config-db/v4/gNBCUUP | Store gNBCUUP details | { | cps-ran-schema-model +--rw GNBCUUPFunction* [idGNBCUUPFunction] | SDN-R | NCMP | from CPS point of view this case is similar as previous 2 cases (#3, #4), just different target (parent)data node. suggested CPS-action: Update DataNode with children (in this case a list) all children will be replaced! All unchanged data has to be provided too! <Need to discuss> Create a new entry, if it does not exists. Update, if it already exists. | |
6. | /api/sdnc-config-db/v4/gNBDU | Store gNBDU, NRCellDU details | { | cps-ran-schema-model +--rw GNBDUFunction* [idGNBDUFunction] | SDN-R | NCMP | from CPS point of view this case is similar as previous 2 cases (#3, #4, #5), just different target (parent)data node. suggested CPS-action: Update DataNode with children (in this case a list) all children will be replaced! All unchanged data has to be provided too! <Need to discuss> Create a new entry, if it does not exists. Update, if it already exists. Will require a new method in cps core to add something to a list. | |
7. | /api/sdnc-config-db/v4/rrmPolicy | Store network elements' RRMPolicy details | { | cps-ran-schema-model +--rw RRMPolicyRatio* [id] | SDN-R | Currently, CPS has no option to replace an entire list without updating its parent which seems what is required here. <Need to discuss> Update the parent and the child list for rRMPolicyMemberList - will update multiple instances of RRMPolicyRatio | ||
8. | /api/sdnc-config-db/v4/ranslice-details | RAN Inventory. Store RAN slice details | { "ranNFNSSIId":"3f2f23fa-c567-4dd8-8f15-f95ae3e6fd82", "ranNSSIList":[ "ran4" ], "nsiList":[ "nsi1","nsi2" ], "nSSAIList":[ "001-010000" ], "sliceProfilesList":[ { "sliceProfileId": "878f32c0-3699-4dbd-95a3-1f01d6c763fd", "dLThptPerSlice": 25, "uLThptPerSlice": 30, "maxNumberofConns":3000, "sNSSAI":"001-010000", "pLMNIdList":"310-410" } ], "trackingAreaList": "Kingston" , "subnetStatus":"ACTIVE", "nsstId":"NSSTID1", "sliceType":"eMBB", "isShareable":"true" } | cps-ran-inventory +--rw ran-inventory | SDN-R | cps core | little difference can be found between the request payload and the yang model. Yang model is the final one. For CPS this seems like populating the whole data tree for a given model in one go. i.e. replace all existing data Modified the YANG model to support storing a list of Slices Replace datanode and children. |