Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
Analyse all API API PUT , PATCH & DELETE 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 call calls might need the same CPS functionality.
- One API call might require more then than one CPS-Core call, indicate in the report if this is the case
- One API call might need to access more then than one model (report!)
- Distinguish between NCMP (ran network data) and CPDCPS-Core access for slicing specific data.
...
- Wiki Page with a conclusion for each API call (see toines example for API call no.2 https://wiki.onap.org/display/DW/CPS+APIs)
- Add new update functionality if needed to https://wiki.onap.org/display/DW/CPS-235%3A+Overview+of+%28early%29+CPS+Update+Scenarios
https://wiki.onap.org/display/DW/CPS-235%3A+Overview+of+%28early%29+CPS+Query+and+Update+Scenarios - Review with the full team
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:
- 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 | |||||||||||||||||||||||||||||||||||||||||||||||
S.No | API endpoint | HTTP Method | Description | API input/Request Payload | Yang sub-tree/element(s) accessed (for GET), or updated (for UPDATE) | Consuming Component | Usecase | Priority | Comments | ||||||||||||||||||||||||||||||||||||||||||||
3. | /api/sdnc-config-db/v4/nearRTRIC | PUT | 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 | Slicing | 1suggested 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.4. | /api/sdnc-config-db/v4/gNBCUCP | PUT | Store gNBCUCP, NRCellCU details | { | cps-ran-schema-model +--rw GNBCUCPFunction* [idGNBCUCPFunction] | SDN-RSlicing | NCMP | 1 | 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/gNBCUUPPUT | Store gNBCUUP details | { | cps-ran-schema-model +--rw GNBCUUPFunction* [idGNBCUUPFunction] | SDN-RSlicing | NCMP | 1 | 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 | PUT | Store gNBDU, NRCellDU details | { | cps-ran-schema-model +--rw GNBDUFunction* [idGNBDUFunction] | SDN-R | Slicing | 1NCMP | 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/rrmPolicyPUT | Store network elements' RRMPolicy details | { | cps-ran-schema-model +--rw RRMPolicyRatio* [id] | SDN-R | Slicing | 1 | 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 | PUT | 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 | Slicing | 2 | 14. | /api/sdnc-config-db/v3/insertData | PUT | Pre-load Cell Data | { | OOF-PCI MS | SON | 3 | 15. | /api/sdnc-config-db/v3/modifyPci/{cellId} | PATCH | Modfify PCI value of a cell | { "pci-value":1 } | SDNR | SON | 3 | 16. | /api/sdnc-config-db/v3/modifyNbrHO/{cellId}/{targetCellId} | PATCH | Modify HO (Handoff) flag for a target neighbor cell | { "ho":false } | SDNR | SON | 3 | 17. | /api/sdnc-config-db/v3/createNbr/{cellId} | PUT | Create a neigbor for a cell |
| SDNR | SON | 3 | 18. | /api/sdnc-config-db/v3/deleteNbr/{cellId}/{targetCellId} | DELETE | Delete a neighbor for a call | cellId - string trgetCellId - string | SDNR | SON | ":[ "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. 3 |