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:
...
Get complete details associated with a list of NearRT RIC's and
corresponding managed elements
...
trackingArea - String
<Changes at consumer end> - trackingArea should be an int
...
Complete Yang model. Refer CPS-196
cps-ran-schema-model
...
The result seems to be a a combination of many queries.
Several elements not clear in model?!:
- TrackingArea = Tac? not string but 32bit int?
- gNBCUCPList, 0x
- cellCUList, 0x
- pLMNInfoList, 4x
Tac is a type, used by nRTAC, which is normal (normal not key) leaf for NRCellDUGroup which is used by NRCellDU (Yang List)
Proposed CPS query:
get all elelements (with children?) in list (NRCellDU) fiter on one attribue vale (nRTAC)
- Fetch the List of Cells using API #2
- Fetch the parents and grandparents pertaining to those cells
...
trackingArea - String
<Changes at consumer end> - trackingArea should be an int
...
[
"15289",
"15290",
"15296"
]
...
cps-cavsta-onap-internal
+--rw taCellsList* [cellLocalId]
+--rw cellLocalId int32
...
Refer cps-cavsta-onap-internal
...
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 | Use case | API endpoint | HTTP Method | Description | API input/Request Payload | Result obtained for API call (in case of GET) | Yang sub-tree/element(s) accessed (for GET), or updated (for UPDATE) | Consuming Component | Priority | Comments | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1. | E2E Network Slicing | /api/sdnc-config-db/v4/nearrtric-list/{trackingArea} | GET | Get complete details associated with a list of NearRT RIC's and corresponding managed elements | trackingArea - String <Changes at consumer end> - trackingArea should be an int | [ { "gNBCUCPList": [ { "cellCUList": [ { "cellLocalId": 0, "pLMNInfoList": [ { "pLMNId": "string", "sNSSAI": { "configData": { "dLThptPerSlice": 0, "maxNumberOfConns": 0, "uLThptPerSlice": 0 }, "globalSubscriberId": "string", "sNSSAI": "string", "status": "string", "subscriptionServiceType": "string" } } ], "resourceType": "string" } ], "gNBCUName": "string", "gNBId": 0, "gNBIdLength": 0, "nFType": "string", "nearRTRICId": 0, "pLMNId": "string" } ], "gNBCUUPList": [ { "gNBCUUPId": 0, "gNBId": 0, "gNBIdLength": 0, "nearRTRICId": 0, "pLMNInfoList": [ { "pLMNId": "string", "sNSSAI": { "configData": { "dLThptPerSlice": 0, "maxNumberOfConns": 0, "uLThptPerSlice": 0 }, "globalSubscriberId": "string", "sNSSAI": "string", "status": "string", "subscriptionServiceType": "string" } } ], "resourceType": "string" } ], "gNBDUList": [ { "cellDUList": [ { "administrativeState": "string", "cellLocalId": 0, "cellState": "string", "nRPCI": 0, "nRTAC": 0, "operationalState": "string", "pLMNInfoList": [ { "pLMNId": "string", "sNSSAI": { "configData": { "dLThptPerSlice": 0, "maxNumberOfConns": 0, "uLThptPerSlice": 0 }, "globalSubscriberId": "string", "sNSSAI": "string", "status": "string", "subscriptionServiceType": "string" } } ], "resourceType": "string" } ], "gNBDUId": 0, "gNBDUName": "string", "gNBId": 0, "gNBIdLength": 0, "nFType": "string", "nearRTRICId": 0, "pLMNId": "string" } ], "gNBId": 0, "nearRTRICId": 0, "pLMNInfoList": [ { "pLMNId": "string", "sNSSAI": { "configData": { "dLThptPerSlice": 0, "maxNumberOfConns": 0, "uLThptPerSlice": 0 }, "globalSubscriberId": "string", "sNSSAI": "string", "status": "string", "subscriptionServiceType": "string" } } ], "ranNFNSSIList": [ "string" ], "resourceType": "string", "trackingArea": [ "string" ] } ] | Complete Yang model. Refer CPS-196 cps-ran-schema-model | SDN-R | 1 | The result seems to be a a combination of many queries from differnt data sources Several elements not clear in model?!:
Tac is a type, used by nRTAC, which is normal (normal not key) leaf for NRCellDUGroup which is used by NRCellDU (Yang List) Proposed CPS query: <Ahila> Please note the below:
| |||||||||||||||||||||||
2. | E2E Network Slicing | /api/sdnc-config-db/v4/cell-list/{trackingArea} | GET | Get a list of cells that correspond to a specific tracking area | trackingArea - String <Changes at consumer end> - trackingArea should be an int |
| cps-cavsta-onap-internal +--rw taCellsList* [cellLocalId] | SDN-R | 1 | Proposed CPS query: Refer cps-cavsta-onap-internal In scope of H-release | |||||||||||||||||||||||
3. | E2E Network Slicing | /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 | 1 | There is no model that defines that has a TrackingArea String is this now the 'locationName'? 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> | ||||||||||||||||||||||||
4. | E2E Network Slicing | /api/sdnc-config-db/v4/gNBCUCP | PUT | Store gNBCUCP, NRCellCU details | { | cps-ran-schema-model +--rw GNBCUCPFunction* [idGNBCUCPFunction] | SDN-R | 1 | from CPS point of view this case is similar as previous case (#3), 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> | ||||||||||||||||||||||||
5. | E2E Network Slicing | /api/sdnc-config-db/v4/gNBCUUP | PUT | Store gNBCUUP details | { | cps-ran-schema-model +--rw GNBCUUPFunction* [idGNBCUUPFunction] | SDN-R | 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> | ||||||||||||||||||||||||
6. | E2E Network Slicing | /api/sdnc-config-db/v4/gNBDU | PUT | Store gNBDU, NRCellDU details | { | cps-ran-schema-model +--rw GNBDUFunction* [idGNBDUFunction] | SDN-R | 1 | 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> | ||||||||||||||||||||||||
7. | E2E Network Slicing | /api/sdnc-config-db/v4/rrmPolicy | PUT | Store network elements' RRMPolicy details | { | cps-ran-schema-model +--rw RRMPolicyRatio* [id] | SDN-R | 1 | Currently CPS has no option to replace an entire list without udpating its parent wihc seems what is required here. <Need to discuss> | ||||||||||||||||||||||||
8. | E2E Network Slicing | /api/sdnc-config-db/v4/nearRTRICranslice-details | PUT | RAN Inventory. Store nearRTRIC RAN slice details | { "nearRTRICIdranNFNSSIId":22, "gNBId":98763, "trackingArea"3f2f23fa-c567-4dd8-8f15-f95ae3e6fd82", "ranNSSIList":[ "Kingstonran4" ], "resourceTypensiList":"NearRTRIC"[ "nsi1","nsi2" ], "ranNFNSSIListnSSAIList":[ "11"001-010000" ], "22sliceProfilesList" ], "pLMNInfoList":[ { "pLMNId":"310-410", "sNSSAI":{ :[ { "sliceProfileId": "878f32c0-3699-4dbd-95a3-1f01d6c763fd", "dLThptPerSlice": 25, "uLThptPerSlice": 30, "maxNumberofConns":3000, "sNSSAI":"001-010000", "statuspLMNIdList":"ACTIVE"310-410" } ], "globalSubscriberIdtrackingAreaList": "Customer-001Kingston" , "subscriptionServiceTypesubnetStatus":"PremiumACTIVE", "configDatansstId": { "dLThptPerSliceNSSTID1":25, "uLThptPerSlicesliceType":30"eMBB", "maxNumberOfConnsisShareable":3000"true" } } } ] } | cps-ran-schema-modelcps-ran-inventory +--rw ran-inventory | SDN-R | Slicing | 1 | There is no model that defines that has a TrackingArea String is this now the 'locationName'? 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> | 4.+--rw isshareable? string | SDN-R | 2 | little difference can be found between the request payload and the yang model. Yang model is final one. For CPS this seems like populating the whole data-tree for given model in one go. i.e. replace all existing data Modifed the YANG model to support storing list of Slices | |||||||||||||||||||
9. | E2E Network Slicing | /api/sdnc-config-db/v4/gNBCUCP | PUT | Store gNBCUCP, NRCellCU details | { | cps-ran-schema-model +--rw GNBCUCPFunction* [idGNBCUCPFunction] | SDN-R | Slicing | 1 | from CPS point of view this case is similar as previous case (#3), 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> | 5. | /api/sdnc-config-db/v4/gNBCUUP | PUT | Store gNBCUUP details | { | cps-ran-schema-model +--rw GNBCUUPFunction* [idGNBCUUPFunction] | SDN-R | Slicing | 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> | 6. | /api/sdnc-config-db/v4/gNBDU | PUT | Store gNBDU, NRCellDU details | {/du-list/{sNSSAI} | GET | Fetch the DU functions for sNSSAI | sNSSAI - String | [ { "gNBDUId":1, "gNBId":98763, "gNBIdLength":5, "pLMNId":"310-004", "gNBDUName":"gnduserver1", "nFType":"DU", "nearRTRICId":11, "cellDUList":[ { "cellLocalId":1, "operationalState":"ENABLED", "administrativeState":"UNLOCKED", "cellState":"ACTIVE", "nRPCI":12, "nRTAC":310, "pLMNInfoList":[ { "pLMNId":"310-004", "sNSSAI":{ "sNSSAI":"001-003", "status":"ACTIVE", "configData":{ "dLThptPerSlice": 45, "uLThptPerSlice": 40 } } }, { "pLMNId":"310-410", "sNSSAI":{ "sNSSAI":"001-024", "status":"ACTIVE", "configData":{ "dLThptPerSlice": 65, "uLThptPerSlice": 30 } } } ] } ] } ] | cps-ran-schema-model +--rw GNBDUFunction* [idGNBDUFunction] | DCAE-slice-analysis-ms | 1 | Suggested CPS Actions: Yes. Result includes parent as well. Sample seems to return other/all(?) pLMNInfoList with different sNSSAIs It doesn't matter. The grandparent node (GNBDUs) of the sNNSAI should be returned properly. |
10. | E2E Network Slicing | /api/sdnc-config-db/v4/du-cell-list/{sNSSAI} | GET | Fetch DU Cells for sNSSAI | sNSSAI - String | { "1": [ { "cellLocalId": 111, "operationalState": "ENABLED", "administrativeState": "UNLOCKED", "cellState": "ACTIVE", "pLMNInfoList": [ { "pLMNId": "pLMNId1", "sNSSAI": { "sNSSAI": "001-003", "status": "ACTIVE", "globalSubscriberId": null, "subscriptionServiceType": null, "configData": {} } }, { "pLMNId": "pLMNId2", "sNSSAI": { "sNSSAI": "001-024", "status": "ACTIVE", "configDataglobalSubscriberId": {null, "dLThptPerSlicesubscriptionServiceType": 9null, "uLThptPerSliceconfigData": 10 } } ] ], "nRPCI": 45, "nRTAC": 9087 } ] } Note: Key - nearRTRIC Id value - list of cells | cps-ran-schema-model | +--rw GNBDUFunctionNRCellDU* [idGNBDUFunctionidNRCellDU] | SDN-R | Slicing | 1 | 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> | 7.nRPCI? int32 | DCAE-slice-analysis-ms | 1 | Yang model defines only the DUCellList which is the value in the response. Key is a nearRTRICId Suggested CPS Actions: Seems very simialr to #9 Sample seems to return other/all(?) pLMNInfoList with different sNSSAIs Similar to #9 | ||||||||||||||||||
11. | E2E Network Slicing | /api/sdnc-config-db/v4/profile-config/{sNSSAI} | GET | Fetch slice profile configuration for a sNSSAI | sNSSAI - String | DCAE-slice-analysis-ms, ML MS | 2 | This API will be replaced by AAI APIs Do we need to discs CPS for this one. IF so which model etc? This API can be ignored | |||||||||||||||||||||||||
12. | E2E Network Slicing | /api/sdnc-config-db/v4 | /rrmPolicyPUT | Store network elements' RRMPolicy details | { | cps-ran-schema-model +--rw RRMPolicyRatio* [id]| | +--rw id string | | +--rw attributes | | +--rw resourceType? string | | +--rw rRMPolicyMemberList* [idx] | | | +--rw idx uint32 | | | +--rw mcc Mcc | | | +--rw mnc Mnc | | | +--rw sNSSAI? SNssai/slice-config/{sNSSAI} | GET | Fetch NearRTRIC configuration for a sNSSAI | sNSSAI - String | { "1": { "dLThptPerSlice": 45, "uLThptPerSlice": 40 } } Note: key "1" is nearRTRICId - marked in green color Value - nssai config - marked in purple color | +--rw cps-ran-schema | SDN-R | Slicing | 1 | Currently CPS has no option to replace an entire list without udpating its parent wihc seems what is required here. <Need to discuss> | 8.int64 | DCAE-slice-analysis-ms | 1 | Yang model defines only the pLMNInfoConfiguration. Key is NEarRTRICid Suggested CPS-Query: get lis elements with children where leave has certain value,. | ||||||||||||||
13. | E2E Network Slicing | /api/sdnc-config-db/v4/ | ranslicesubscriber-details/{sNSSAI} | 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+--rw ran-slices* [rannfnssiid] +--rw rannfnssiid string +--rw sliceProfilesList* [sliceProfileId] | +--rw sliceProfileId string | +--rw sNSSAI? string | +--rw maxNumberofUEs? int64 | +--rw latency? int64 | +--rw uLThptPerSlice? int64 | +--rw dLThptPerSlice? int64 | +--rw maxNumberofConns? int64 | +--rw uEMobilityLevel? string | +--rw resourceSharingLevel? string | +--rw coverageAreaList* GET | Fetch subscriber details | sNSSAI - String | DCAE-slice-analysis-ms | 2 | This API will be replaced by AAI APIs Do we need to discs CPS for this one. IF so which model etc? This API can be ignored | ||||||||||||||||||||||
14. | 5G SON | /api/sdnc-config-db/v3/insertData | PUT | Pre-load Cell Data | { | OOF-PCI MS | 3 | ||||||||||||||||||||||||||
15. | 5G SON | /api/sdnc-config-db/v3/modifyPci/{cellId} | PATCH | Modfify PCI value of a cell | { "pci-value":1 } | +--rw GNBDUFunction* [idGNBDUFunction] | +--rw pLMNIdListNRCellDU* [mcc mncidNRCellDU] | +--rw mnc Mnc | SDN-R | Slicing | 2 | 9. | attributes | +--rw nRPCI? int32 | SDNR | 3 | ||||||||||||||||||||
16. | 5G SON | /api/sdnc-config-db/ | v4v3/ | du-listmodifyNbrHO/{ | sNSSAI}GET | Fetch the DU functions for sNSSAI | sNSSAI - String | cps-ran-schema-model +--rw GNBDUFunction* [idGNBDUFunction] | DCAE-slice-analysis-ms | Slicing | 1 | Suggested CPS Actions: Yes. Result includes parent as well. Sample seems to return other/all(?) pLMNInfoList with different sNSSAIs It doesn't matter. The grandparent node (GNBDUs) of the sNNSAI should be returned properly. | 10.cellId}/{targetCellId} | PATCH | Modify HO (Handoff) flag for a target neighbor cell | { "ho":false } | +--rw GNBCUCPFunction* [idGNBCUCPFunction] +--rw idGNBCUCPFunction string +--rw NRCellCU* [idNRCellCU] +--rw NRCellRelation* [idNRCellRelation] | +--rw isHOAllowed? boolean | SDNR | 3 | ||||||||||||||
17. | 5G SON | /api/sdnc-config-db/v3/createNbr/{cellId} | PUT | Create a neigbor for a cell |
| +--rw GNBCUCPFunction* [idGNBCUCPFunction] +--rw idGNBCUCPFunction string +--rw NRCellCU* [idNRCellCU] +--rw NRCellRelation* [idNRCellRelation] | +--rw isHOAllowed? boolean | SDNR | 3 | |||||||||||||||||||||||||
18. | 5G SON | /api/sdnc-config-db/v3/deleteNbr/{cellId}/{targetCellId} | DELETE | Delete a neighbor for a call | cellId - string trgetCellId - string | +--rw GNBCUCPFunction* [idGNBCUCPFunction] +--rw idGNBCUCPFunction string +--rw NRCellCU* [idNRCellCU] +--rw NRCellRelation* [idNRCellRelation] | SDNR | 3 | |||||||||||||||||||||||||
19. | E2E Network Slicing | api/sdnc-config-db/v4/nearrtric/{ranNFNSSIId} | GET | Fetches the NearRTRICs for the RANNFNSSI | ranNFNSSIId - String | Returns the RAN-schema yang (Refer CPS - 196) | SDNR | 1 | |||||||||||||||||||||||||
20. | E2E Network Slicing | /api/sdnc-config-db/v4/plmn/{sliceProfileId} | GET | Returns PLMN id for the sliceProfile | sliceProfileId - String | PLMNId as String | SDNR | 1 | |||||||||||||||||||||||||
21. | E2E Network Slicing | /api/sdnc-config-db/v4/ta-list/{mcc}/{mnc}/{coverageArea} | GET | Returns List of tracking area (coverageAreaTAList) of the specified coverage area | coverageArea - String mcc - String mnc - String | [ 675, 834 ] | cps-cavsta-onap-internal +--rw coverage-area* [coverageArea] | OOF | 1 | In scope of H-release | |||||||||||||||||||||||
22. | 5G SON | /api/sdnc-config-db/v3/getCell/{cellId} | GET | Get information about a cell. cellId is referred to in YANG model as any of the following: idNRCellDU, idNRCellCU, cellLocalId | { "Cell": { "latitude": "string", "longitude": "string", "networkId": "string", "nodeId": "string", "notes": "string", "physicalCellId": 0, "pnfId": "string", "sectorNumber": "string" }, "neighbor": [ "string" ] } | +--rw cps-ran-schema | +--rw NRCellDU* [idNRCellDU] +--rw NRCellCU* [idNRCellCU] | OOF, Policy | 3 | |||||||||||||||||||||||||
23. | 5G SON | /api/sdnc-config-db/v3/ v4/du-cell-listgetCellList/{regionId}/{ sNSSAIts} | GET | Fetch DU Cells for sNSSAI | sNSSAI - String | { "1": [ { "cellLocalId": 111, "operationalState": "ENABLED", "administrativeState": "UNLOCKED", "cellState": "ACTIVE", "pLMNInfoList": [ { "pLMNId": "pLMNId1", "sNSSAI": { "sNSSAI": "001-003", "status": "ACTIVE", "globalSubscriberId": null, "subscriptionServiceType": null, "configData": {} } }, { "pLMNId": "pLMNId2", "sNSSAI": { "sNSSAI": "001-024", "status": "ACTIVE", "globalSubscriberId": null, "subscriptionServiceType": null, "configData": {} } } ], "nRPCI": 45, "nRTAC": 9087 } ] } Note: Key - nearRTRIC Id value - list of cells | cps-ran-schema-model | +--rw NRCellDU* [idNRCellDUGet list of cells for a specific region (identified by regionId) | [ "string" ] | +--rw cps-ran-schema +--rw Regions* [regionId] | +--rw regionId RegionId | +--rw cps-region-cell-mapping | +--rw NRCellCU* [idNRCellCU] | +--rw idNRCellCU string | 3 | |||||||||||||||||||||||
24. | 5G SON | /api/sdnc-config-db/v3/getNbrCellsNetwork/{regionId} | GET | Get a list of all neighbor relationships for a specific region (identified by regionId) | { "cellsNbrList": [ { "cellId": "string", "nbrList": [ { "ho": true, "pciValue": 0, "targetCellId": "string" } ] } ], "networkId": "string" } | +--rw cps-ran-schema +--rw Regions* [regionId] | +--rw regionId RegionId | +--rw cps-region-cell-mapping | +--rw NRCellCU* [idNRCellCU] | +--rw idNRCellDU idNRCellCU string | +--rw attributes | | +--rw cellLocalId? int32 | +--rw pLMNInfoListNRCellRelation* [mcc mncidNRCellRelation] | | +--rw mcc MccidNRCellRelation string | | +--rw mnc Mncattributes | | +--rw sNSSAIList* [sNssai] | | +--rw sNssai string | | +--rw status? string | | +--rw configData* [configParameter] | | +--rw configParameter string | | +--rw configValue? int64nRTCI? uint64 | 3 | ||||||||||||||||||||||||||
25. | 5G SON | /api/sdnc-config-db/v3/getNbrList/{cellId}/{ts} | GET | Get a list of neighbors for a cell | { "cellId": "string", "nbrList": [ { "ho": true, "pciValue": 0, "targetCellId": "string" } ] } | +--rw cps-ran-schema +--rw NRCellCU* [idNRCellCU] +--rw NRCellRelation* [idNRCellRelation] | DCAE-slice-analysis-ms | Slicing | 1 | Yang model defines only the DUCellList which is the value in the response. Key is a nearRTRICId Suggested CPS Actions: Seems very simialr to #9 Sample seems to return other/all(?) pLMNInfoList with different sNSSAIs Similar to #9 11.attributes | 3 | ||||||||||||||||||||||
26. | 5G SON | /api/sdnc-config-db/ v4/profile-configv3/getPCI/{cellId}/{ sNSSAIts} | GET | Fetch slice profile configuration for a sNSSAI | sNSSAI - String | DCAE-slice-analysis-ms, ML MS | Slicing | 2 | This API will be replaced by AAI APIs Do we need to discs CPS for this one. IF so which model etc? This API can be ignored | 12. | GET PCI value of a cell | { | +--rw cps-ran-schema +--rw GNBDUFunction* [idGNBDUFunction] | +--rw NRCellDU* [idNRCellDU] | +--rw nRPCI? int32 | 3 | |||||||||||||||||||
27. | 5G SON | /api/sdnc-config-db/v3/ v4/slice-configgetPnfId/{maanagedElementId}/{ sNSSAIts} | GET | Fetch NearRTRIC configuration for a sNSSAI | sNSSAI - String | { "1": { "dLThptPerSlice": 45, "uLThptPerSlice": 40 } } Note: key "1" is nearRTRICId - marked in green color Value - nssai config - marked in purple colorGet PnfId of a managed element in O-RAN. PnfId represents the node name for Netconf Mount for various O-RAN managed elements as below: For NonRTRIC: - idNearRTRIC | { "attribute-name": "string", "value": "string" } | +--rw cps-ran-schema +--rw NearRTRIC* [idNearRTRIC] +--rw attributes +--rw mnc Mnc | +--rw sNssai string +--rw configDataGNBCUCPFunction* [configParameter] | DCAE-slice-analysis-ms | Slicing | 1 | Yang model defines only the pLMNInfoConfiguration. Key is NEarRTRICid Suggested CPS-Query: get lis elements with children where leave has certain value,. 13.idGNBCUCPFunction] | +--rw gNBCUName? string | 3 |
Link to SON CPS: CPS 5G-SON APIs
2. Sample CPS APIs (to mapper service and XPath queries)
#1 Get complete details associated with a list of NearRT RIC's
/api/sdnc-config-db/v4/nearrtric-list/{trackingArea}
Combination of data from different queries of different data from different model using both CPS-Core and NF-Proxy.
TBC
#2 Get a list of cells that correspond to a specific tracking area
/api/sdnc-config-db/v4/
...
cell-
...
list/{
...
trackingArea}
...
This API will be replaced by AAI APIs
Do we need to discs CPS for this one. IF so which model etc?
This API can be ignored
...
{
"cellList": [{
"Cell": {
"networkId": "jio",
"nodeId": "Chn1003",
"physicalCellId": 0,
"pnfName": "ncserver1007",
"sectorNumber": 0,
"latitude": "13.081907",
"longitude": "80.270862"
},
"neighbor": [
"Chn1006",
"Chn906",
"Chn1005",
"Chn905"
]
}]
}
...
{
"pci-value":1
}
...
{
"ho":false
}
...
{
"ho": true,
"targetCellId": "string"
}
...
cellId - string
trgetCellId - string
...
Returns the RAN-schema yang (Refer CPS - 196)
...
2. Sample CPS APIs (to mapper service and XPath queries)
target model/data: cps-cavsta-onap-internal
component to be used : CPS-Core
'trackingArea' maps to 'nRTAC' and is an integer.
nRTAC is the key field for coverageAreaTAList
coverageAreaTAList is contained in a 'coverage-area' list. the key for that list key is 'CoverageArea' (string e.g. "Washington")
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"cps-cavsta-onap-internal:ran-coverage-area": {
"pLMNIdList": [
{
"mcc": "310",
"mnc": "410",
"coverage-area": [
{
"coverageArea": "Washington",
"coverageAreaTAList": [
{
"nRTAC": 234,
"taCellsList": [
{
"cellLocalId": 15709
}
]
}
]
}
]
}
]
}
} |
So although the key-value for the coverageAreaTAList is known the key for the parent list is NOT known. so this requires a more advanced query:
It could be done with either query #4 described in CPS-235: Overview of (early) CPS Query#Queries assuming it wil have an option to also retrieve all descendants
#21 List tracking area (coverageAreaTAList) for the specified coverage area
I think this is a simple 'get with children' xpath e.g. : /ran-coverage-area[@mcc=310 and @mnc=410]/coverage-area[@coverageArea='Washington']
Note: Compound key fields need to be in alphabetical order. The key is matched as a string literal so incorrect order or spacing issues will result in the key not being found in the database
3. Field Mapping Between ConfigDB Schema and Yang Model
S.No | Yang Model | Mapping Sheet |
---|---|---|
1. | cps-ran-schema-model | |
2. | cps-cavsta-onap-internal | |
`3. | cps-ran-inventory |