Jira Legacy
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
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://
...
...
- 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
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
...
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
...
Usecase
...
Priority
...
Comments
...
cps-ran-schema-model
...
- 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 |
There is no model that defines that has a TrackingArea String
is this now the 'locationName'?
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> |
{
"gNBDUId":4,
"gNBId":98763,
"gNBIdLength":5,
"pLMNId":"310-410",
"gNBDUName":"gnduserver4",
"nFType":"DU",
"nearRTRICId":22,
"cellDUList":[
{
"cellLocalId":112951561,
"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":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,
"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
}
}
}
]
}
]
}
cps-ran-schema-model
+--rw GNBDUFunction* [idGNBDUFunction]
| +--rw idGNBDUFunction string
| +--rw attributes
| | +--ro gNBId? int64
| | +--rw gNBIdLength? int32
| | +--rw gNBDUId? int64
| | +--rw gNBDUName? string
| +--rw NRCellDU* [idNRCellDU]
| +--rw idNRCellDU string
| +--rw attributes
| +--rw cellLocalId? int32
| +--rw pLMNInfoList* [mcc mnc]
| | +--rw mcc Mcc
| | +--rw mnc Mnc
| | +--rw sNSSAIList* [sNssai]
| | +--rw sNssai string
| | +--rw status? string
| | +--rw configData* [configParameter]
| | +--rw configParameter string
| | +--rw configValue? int64
| +--rw nRPCI? int32
| +--rw nRTAC? Tac
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>
"rrmPolicyID":1,
"resourceID":"113025289",
"resourceType":"PRB",
"sliceType":"eMBB",
"quotaType":"STRICT",
"rRMPolicyMaxRatio":0,
"rRMPolicyMinRatio":10,
"rRMPolicyDedicatedRatio":0,
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 | { |
410", | cps-ran-schema-model +--rw GNBDUFunction* [idGNBDUFunction] |
}
cps-ran-schema-model
|
NRCellDU* [ |
idNRCellDU] |
| +--rw |
idNRCellDU string |
| +--rw attributes |
| +--rw |
cellLocalId? |
int32 |
+--rw |
pLMNInfoList* [ |
mcc mnc] |
mnc Mnc |
sNssai string |
+--rw |
status? string |
+--rw |
configData* [configParameter] |
configParameter string |
configValue? |
int64 |
+--rw |
nRPCI? |
int32 |
+--rw |
nRTAC? |
Tac | SDN-R |
Currently CPS has no option to replace an entire list without udpating its parent wihc seems what is required here.
<Need to discuss>
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/ |
{
"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* string
| +--rw pLMNIdList* [mcc mnc]
|
rrmPolicy | Store network elements' RRMPolicy details | { | cps-ran-schema-model +--rw RRMPolicyRatio* [id] |
sNSSAI? SNssai |
rRMPolicyMaxRatio? |
uint8 |
rRMPolicyMinRatio? |
uint8 |
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
{
"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
rRMPolicyDedicatedRatio? uint8 | 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. |