CPS 5G-SON APIs
https://lf-onap.atlassian.net/browse/CPS-330
Issue Description | Notes | Decision | |
|---|---|---|---|
| 1 | Data not found for this API number 14 below |
|
|
| 2 | No. 22 requires the client to process two separate calls. | Could possibly be handled by TBDMT. |
|
CPS RAN schema yang
cps-ran-schema-model@2021-05-19-tree.txt
RAN Network Yang (Similar to O-RAN Yang)
S. No | API End Point | HTTP Method | Description | API Input / Request Payload | Resulting API response in case of "GET" | YANG subtree | Possible CPS path | Required Query | Comments |
|---|---|---|---|---|---|---|---|---|---|
14 | /api/sdnc-config-db/v3/insertData | PUT | Pre-load Cell Data |
|
|
|
|
| [Sandeep] This was done for ConfigDB data schema. We have already provided YANG models (configuration and supplemental to help queries) for CPS. I guess there has been an API or some mechanism to pre-load data. |
15 | /api/sdnc-config-db/v3/modifyPci/{cellId} | PATCH | Modfify PCI value of a cell | { "pci-value":1 } |
| +--rw cps-ran-schema +--rw NearRTRIC* [idNearRTRIC] +--rw idNearRTRIC string +--rw GNBDUFunction* [idGNBDUFunction] | +--rw idGNBDUFunction string | +--rw NRCellDU* [idNRCellDU] | +--rw idNRCellDU string | +--rw nRPCI? int32
| cps-ran-schema/GNBDUFunction/{idGNBDUFunction}/NRCellDU/{idNRCellDU}/attributes/nRPCI
Based on the givenNRCellDU, modify the attribute PCI value |
|
|
16 | /api/sdnc-config-db/v3/modifyNbrHO/{cellId}/{targetCellId} | PATCH | Modify HO (Handoff) flag for a target neighbor cell | { "ho":false } |
| +--rw ran-network +--rw NearRTRIC* [idNearRTRIC] +--rw idNearRTRIC string +--rw GNBCUCPFunction* [idGNBCUCPFunction] +--rw idGNBCUCPFunction string +--rw NRCellCU* [idNRCellCU] +--rw idNRCellCU string +--rw NRCellRelation* [idNRCellRelation] | +--rw idNRCellRelation string | +--rw attributes | +--rw isHOAllowed? boolean | ran-network/NearRTRIC/{idNearRTRIC}/GNBCUCPFunction/{idGNBCUCPFunction}/NRCellCU/{idNRCellCU}/NRCellRelation/idNRCellRelation/attributes/isHOAllowed/{isHOAllowed}
For the given path that contains NRCellCU and NRCellRelation, modify the isHOAllowed attribute. |
|
|
17 | /api/sdnc-config-db/v3/createNbr/{cellId} | PUT | Create a neigbor for a cell |
|
| +--rw ran-network +--rw NearRTRIC* [idNearRTRIC] +--rw idNearRTRIC string +--rw GNBCUCPFunction* [idGNBCUCPFunction] +--rw idGNBCUCPFunction string +--rw NRCellCU* [idNRCellCU] +--rw idNRCellCU string +--rw NRCellRelation* [idNRCellRelation] | +--rw idNRCellRelation string | +--rw attributes | +--rw adjacentNRCellRef? DistinguishedName | +--rw isHOAllowed? boolean | ran-network/NearRTRIC/{idNearRTRIC}/GNBCUCPFunction/{idGNBCUCPFunction}/NRCellCU/{idNRCellCU}/NRCellRelation/idNRCellRelation/attributes/isHOAllowed/{isHOAllowed}
For the given path for NRCellCU add the NRCellRelation and isHOAllowed set to true |
| Query first and then |
18 | /api/sdnc-config-db/v3/deleteNbr/{cellId}/{targetCellId} | DELETE | Delete a neighbor for a call | cellId - string trgetCellId - string |
| +--rw ran-network +--rw NearRTRIC* [idNearRTRIC] +--rw idNearRTRIC string +--rw GNBCUCPFunction* [idGNBCUCPFunction] +--rw idGNBCUCPFunction string +--rw NRCellCU* [idNRCellCU] +--rw idNRCellCU string +--rw NRCellRelation* [idNRCellRelation] | +--rw idNRCellRelation string | +--rw attributes | +--rw adjacentNRCellRef? DistinguishedName | +--rw isHOAllowed? boolean | ran-network/NearRTRIC/{idNearRTRIC}/GNBCUCPFunction/{idGNBCUCPFunction}/NRCellCU/{idNRCellCU}/NRCellRelation/idNRCellRelation/attributes/isHOAllowed/{isHOAllowed}
Delete the object (targetCellId) of the child list NRCellRelation for the parent NRCellCU |
| Query first and then perform delete operation on every result found. |
22 | /api/sdnc-config-db/v3/getCell/{cellId} | GET | Get information about a cell. cellId is referred to in the 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] | this requires a double query
|
| [Sandeep] The expected response payload from CPS includes details from 2 separate YANG fragments, and they are included in the CPS API wiki site. CPS needs to do two separate XPATH queries, collect/consolidate the info in the final response payload. The idea of supplemental YANG is to help queries...and these relationships already exist in the supplemental YANG model (also attached herewith). |
23 | /api/sdnc-config-db/v3/getCellList/{regionId}/{ts} | GET | Get the 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 | cps-ran-schema/Regions/{regionId}/cps-region-cell-mapping/NRCellCU/{idNRCellCU}
Get the list of children for the given XPath |
|
|
24 | /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 idNRCellCU string | +--rw attributes | | +--rw cellLocalId? int32 | +--rw NRCellRelation* [idNRCellRelation] | +--rw idNRCellRelation string | +--rw attributes | +--rw nRTCI? uint64 | cps-ran-schema/Regions/{regionId}/cps-region-cell-mapping/NRCellCU/{idNRCellCU}/NRCellRelation/{idNRCellRelation}/attributes/nRTCI
Get the list of all children on this given XPath given only regionId |
|
|
25 | /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] | for the path below, get the list of idNRCellRelation
|
|
|
26 | /api/sdnc-config-db/v3/getPCI/{cellId}/{ts} | GET | GET PCI value of a cell |
|
| +--rw cps-ran-schema +--rw GNBDUFunction* [idGNBDUFunction] | +--rw NRCellDU* [idNRCellDU] | +--rw nRPCI? int32 | cps-ran-schema/GNBDUFunction/{idGNBDUFunction}/NRCellDU/{idNRCellDU}/nRPCI
for the given xpath return the node attributes |
|
|
27 | /api/sdnc-config-db/v3/getPnfId/{maanagedElementId}/{ts} | GET | 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 |
|
| How do we know which attribute are we looking for? |