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 from differnt data sources
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
In scope of H-release
...
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/nearRTRICgNBDU | PUT | Store nearRTRIC gNBDU, NRCellDU details | 4. | /api/sdnc-config-db/v4/gNBCUCP | PUT | Store gNBCUCP, NRCellCU details | { "nearRTRICId":22, "gNBId":98763, "trackingArea":[ "Kingston" ], "resourceType":"NearRTRIC", "ranNFNSSIList":[ "11", "22" ]
gNBIdLength": [{ 5, "sNSSAI "gNBDUName":" 001-010000gnduserver4", " statusnFType":" ACTIVEDU", " globalSubscriberIdnearRTRICId": "Customer-001"22, " subscriptionServiceTypecellDUList": "Premium","configData": [ " dLThptPerSlicecellLocalId": 25112951561, " uLThptPerSliceoperationalState": 30,"maxNumberOfConns":3000 } } } ] } | cps-ran-schema-model +--rw NearRTRIC* [idNearRTRIC] | 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> | { | cps-ran-schema-model +--rw GNBCUCPFunctionGNBDUFunction* [idGNBCUCPFunctionidGNBDUFunction] | SDN-RSlicing | 1 | from CPS point of view this case is similar as previous case 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> | |||||||||||||
57. | E2E Network Slicing | /api/sdnc-config-db/v4/gNBCUUPrrmPolicy | PUT | Store gNBCUUP network elements' RRMPolicy details | { | cps-ran-schema-model +--rw GNBCUUPFunctionRRMPolicyRatio* [idGNBCUUPFunctionid] | 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- | -rw status? stringSDN-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 | {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" } ], "gNBDUNametrackingAreaList": "gnduserver4Kingston" , "nFTypesubnetStatus":"DUACTIVE", "nearRTRICIdnsstId":22"NSSTID1", "cellDUListsliceType":[ { "cellLocalId":112951561"eMBB", "operationalStateisShareable":"ENABLED", "administrativeState":"UNLOCKED", "cellState":"ACTIVE", "nRPCI":12, "nRTAC":310, "resourceType":"PRB", "pLMNInfoList":[ { "pLMNId":"310-410", "sNSSAI":{ "sNSSAI":"001-010000", "status":"ACTIVE", "configData":{ "dLThptPerSlice": 9, "uLThptPerSlice": 10 } } } ] }, { "cellLocalId":112951562, "operationalState":"ENABLED", "administrativeState":"UNLOCKED", "cellState":"ACTIVE", "nRPCI":12, "nRTAC":310, "resourceType":"PRB", "pLMNInfoList":[ { "pLMNId":"310-410", "sNSSAI":{ "sNSSAI":"001-010000", "status":"ACTIVE", "configData":{ "dLThptPerSlice": 9, "uLThptPerSlice": 10 } } } ] }, { "cellLocalId":112951568, true" } | cps-ran-inventory +--rw ran-inventory | 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/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, "sNSSAI":{ "sNSSAI":"001-003", "status":"ACTIVE", "configData":{ "dLThptPerSlice": 45, "uLThptPerSlice": 40 } } }, { "pLMNId":"310-410", "sNSSAI":{ "sNSSAI":"001-010000024", "status":"ACTIVE", "configData":{ "dLThptPerSlice": 965, "uLThptPerSlice": 1030 } } } ] } ] } ] | cps-ran-schema-model +--rw GNBDUFunction* [idGNBDUFunction] | 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. | /api/sdnc-config-db/v4/rrmPolicy | PUT | Store network elements' RRMPolicy details | { | cps-ran-schema-model +--rw RRMPolicyRatio* [id] | DCAE--rw rRMPolicyDedicatedRatio? uint8 | SDN-R | Slicingslice-analysis-ms | 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.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/ | ranslice-detailsPUT | RAN Inventory. Store RAN slice detailsdu-cell-list/{sNSSAI} | GET | Fetch DU Cells for sNSSAI | sNSSAI - String | { " ranNFNSSIId1": "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 [ { "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", " nsstIdglobalSubscriberId": null, " NSSTID1subscriptionServiceType": null, " sliceTypeconfigData": "eMBB","isShareable":"true" } cps-ran-inventory +--rw ran-inventory } } ], "nRPCI": 45, "nRTAC": 9087 } ] } Note: Key - nearRTRIC Id value - list of cells | cps-ran-schema-model | +--rw pLMNIdListNRCellDU* [mcc mncidNRCellDU] | SDN-R | Slicing | 2 | 9. | /api/sdnc-config-db/v4/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 | 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/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 | 10. +--rw cps-ran-schema | 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. | configValue? 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/subscriber-details/{sNSSAI} | 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/v4/du-cell-listv3/modifyPci/{sNSSAIcellId} | GET | Fetch DU Cells for sNSSAI | sNSSAI - String | PATCH | Modfify PCI value of a cell | { "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* [idNRCellDU] | 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.pci-value":1 } | +--rw GNBDUFunction* [idGNBDUFunction] | +--rw NRCellDU* [idNRCellDU] | +--rw attributes | +--rw nRPCI? int32 | SDNR | 3 | ||||||||||||||||
16. | 5G SON | /api/sdnc-config-db/v3/modifyNbrHO/{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/profile-configta-list/{mcc}/{mnc}/{sNSSAIcoverageArea} | 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.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/ v4v3/ slice-configgetCell/{ sNSSAIcellId} | GET | Fetch NearRTRIC configuration for a sNSSAI | sNSSAI - StringGet information about a cell. cellId is referred to in YANG model as any of the following: idNRCellDU, idNRCellCU, cellLocalId | { "1Cell": { "dLThptPerSlicelatitude": 45"string", "uLThptPerSlicelongitude": 40 } } Note: key "1" is nearRTRICId - marked in green color Value - nssai config - marked in purple color | +--rw cps-ran-schema | 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."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/subscriber-detailsgetCellList/{regionId}/{ sNSSAIts} | GET | Fetch subscriber details | sNSSAI - String | DCAE-slice-analysis-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 | 14. | Get 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/ insertData{regionId} | PUT | Pre-load Cell DataGET | Get a list of all neighbor relationships for a specific region (identified by regionId) | { "cellListcellsNbrList": [{ "Cell": { "networkIdcellId": "jiostring", "nodeIdnbrList": "Chn1003", "physicalCellId": 0,[ { "pnfNameho": "ncserver1007"true, "sectorNumberpciValue": 0, "latitudetargetCellId": "13.081907string", "longitude": "80.270862" }, "neighbor": [ "Chn1006", "Chn906" ] } ], "Chn1005networkId", : "Chn905string" ] }] } | 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. } | +--rw cps-ran-schema +--rw Regions* [regionId] | +--rw regionId RegionId | +--rw cps-region-cell-mapping | +--rw NRCellCU* [idNRCellCU] | +--rw idNRCellCU string | +--rw attributes | | +--rw cellLocalId? int32 | +--rw NRCellRelation* [idNRCellRelation] | +--rw idNRCellRelation string | +--rw attributes | +--rw nRTCI? uint64 | 3 | ||||||||||||
25. | 5G SON | /api/sdnc-config-db/v3/ modifyNbrHOgetNbrList/{cellId}/{ targetCellIdts} | PATCH | Modify HO (Handoff) flag for a target neighbor GET | Get a list of neighbors for a cell | { "hocellId": false } | SDNR | SON | 3 | 17. | /api/sdnc-config-db/v3/createNbr/{cellId} | PUT | Create a neigbor for a cell | {
"string", "nbrList": [ { "ho": true, "pciValue": 0, "targetCellId": "string" } | 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 | 3 | 19. | } ] } | +--rw cps-ran-schema +--rw NRCellCU* [idNRCellCU] +--rw NRCellRelation* [idNRCellRelation] | 3 | |||
26. | 5G SON | /api/sdnc-config-db/v3/ v4getPCI/ nearrtric{cellId}/{ ranNFNSSIIdts} | GET | Fetches the NearRTRICs for the RANNFNSSI | ranNFNSSIId - String | Returns the RAN-schema yang (Refer CPS - 196) | SDNR | Slicing | 1 | 20. | /api/sdnc-config-db/v4/plmn/{sliceProfileId} | GET | Returns PLMN id for the sliceProfile | sliceProfileId - String | PLMNId as String | SDNR | Slicing | 1 | 21.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/ v4v3/ ta-listgetPnfId/{ mccmaanagedElementId}/{ mnc}/{coverageAreats} | 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 | Slicing | 1 | In scope of H-release Get 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 GNBDUFunction* [idGNBDUFunction] +--rw GNBCUUPFunction* [idGNBCUUPFunction] | +--ro gNBCUUPId? uint64 +--rw GNBCUCPFunction* [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}
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 } { ] "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 #3 or #5 #4 described in CPS-235: Overview of (early) CPS Query and Update ScenariosQuery#Queries assuming it wil ahve have an option to also retreive all descendantsretrieve 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
...