Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Analyse Jira Ref. 

Jira Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-277

Analyze all API GET calls listed on this page: https://wikilf-onap.onapatlassian.orgnet/wiki/display/DW/CPS+APIs

(#2 and #21 have already been analyzed and required queries been identified)

  • Ensure use case is clear using given model and data example
  • Find out required (new) query functionality in CPS (several API call calls might need the same CPS functionality)to 'find' the required data given the provided parameters (request payload) and model.
  • One (Slicing) 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 CPS-Core access for NW Slicing specific data.

A/C

  1. Wiki Page with the conclusion for each API call
  2. Add new query functionality if needed to  https://wiki.onap.org/display/DW/CPS-235%3A+Overview+of+%28early%29+CPS+Query+and+Update+Scenarios
  3. Review with full team

...

  1. to CPS-235: Overview of (early) CPS Query
  2. Review with the full team



No

API endpoint

HTTP Method

Model

Description

API input/Request Payload

CPS Path Query Description

Comments and Status

Jira
1./api​/sdnc-config-db​/v4​/nearrtric-list​/{trackingArea}
GET
cps ran schema model

Get ​complete details associated with a list of NearRT RIC's

andcorresponding /"NFP-Operational"/anchor/"ran-slicing"

and corresponding managed elements

[

{

"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"

]

}

]

e.g.

/dataspace



xpath : /cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="15548"]/

attributes : {"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15548}

Note. nRTAC is not the key!


//NRCellDU[ ? ]

Proposed cps query, 2 step approach (inside CPS Core):

  1. Retrieve all unique NRCellDU list entries based on xpath postfix and attribute key and value. Options:
    1. /cps-ran-schema/NearRTRIC[?]/GNBDUFunction[?]/NRCellDU[@nRTAC=310]
      i.e. Match full xpath with wildcard for each list-ancestor list key
      Hard to implement, more model knowledge needed
    2. //NRCellDU[@nRTAC=310]
      i.e. xpath ends with NRCellDU[?] and attributes contain nRTAC=310
      Already have similar? existing code for this in: FragmentRepository.getByAnchorAndXpathAndLeafAttributes()

  2.  Retrieve unique NearRTRIC ancestors (using bookstore generic examples)
    1. //book[@name="Feersum Endjinn"]/ancestor::*[position()=3]
      Less flexible, less readable
    2. //book[@name="Chapters"]/ancestor::bookstore 
      //NRCellDU[@nRTAC=310]/ancestor::NearRTRIC
      The preferred option, enough information an unambiguous enough to correctly resolve the query for this API call


<Ahila> Please note the below:

  1. Fetch the List of Cells using API #2
  2. Fetch the parents and grandparents pertaining to those cells

For team review

Jira Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-305

2./api/sdnc-config-db/v4/cell-list/{trackingArea}cps ran schema modelGet a list of cells that correspond to a specific tracking area
Done
9./api/sdnc-config-db/v4/du-list/{sNSSAI}cps ran schema model

Fetch the DU functions for sNSSAI


Path - cps-ran-schema/NearRTRIC/GNBDUFunction/NRCellDU/attributes/pLMNInfoList/sNSSAIList/sNssai

Query - get ancestor GNBDUFunctionbased on the sNSSAI. 

//sNSSAIList[@sNssai=1]/ancestor::GNBDUFunction

NOTE - sNssai is the key

For team review

Possible same solution as #1.


10./api/sdnc-config-db/v4/du-cell-list/{sNSSAI}cps ran schema model

Fetch DU Cells for sNSSAI


Path - cps-ran-schema/NearRTRIC/GNBDUFunction/NRCellDU/attributes/pLMNInfoList/sNSSAIList/sNssai

Query - get ancestor NRCellDU based on the sNSSAI.

//sNSSAIList[@sNssai=1]/ancestor::NRCellDU

NOTE - sNssai is the key

For team review

Possible same solution as #1.


11./api/sdnc-config-db/v4/profile-config/{sNSSAI}
Fetch slice profile configuration for an sNSSAINot NeededIgnore this API
12./api/sdnc-config-db/v4/slice-config/{sNSSAI}cps ran schema model

Fetch NearRTRIC configuration for a sNSSAI



Path - cps-ran-schema/NearRTRIC[ ? ]/attributes/pLMNInfoList[ ? ]/sNSSAIList/sNssai

Query - Get the sibling configData of sNSSAI from the sNSSAIList.

//sNSSAIList[@sNssai=1]/ (include children)

This will use query 3 CPS-235: Overview of (early) CPS Query

NOTE - sNssai is the key

For team review

Jira Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-309

13./api/sdnc-config-db/v4/subscriber-details/{sNSSAI}
Fetch subscriber details
Ignore this API
19.api/sdnc-config-db/v4/nearrtric/{ranNFNSSIId}cps ran schema model

Fetches the NearRTRICs for the RANNFNSSI


Uses cps ran schema model

Query - We need a query that will get the immediate parent (NearRTRICs) based on attribute values from the list of ranNFNSSIIdList (child).

//ranNFNSSIIdList[@RANNFNSSI =1]/ancestor::NearRTRICs

NOTE Model has changed, ranNFNSSIIdList representation now is a leaf-list, thus new type of query is needed 'leaf-list contains a given value'
Here are 2 possible options:

  1. //attributes/ranNFNSSIIdList/element[normalize-space(text())= "ac8ca1a9-e1ec-4480-8720-c74e92566885"]/ancestor::NearRTRIC
  2. //attributes/ranNFNSSIIdList/element[text()="ac8ca1a9-e1ec-4480-8720-c74e92566885"]/ancestor::NearRTRIC


For team review

Possible same solution as #1.

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-452

20./api/sdnc-config-db/v4/plmn/{sliceProfileId}Uses cps ran inventory model

Returns PLMN id for the sliceProfile


Uses cps ran inventory model

Query - We need the following query; based on the sliceProfileId key we will get the sibling that is a pLMIDList.
//sliceProfilesList[@sliceProfileId=1] include descendants (pLMIDList is descendant)
For team review
21.

/api/sdnc-config-db/v4/ta-list/{mcc}/{mnc}/{coverageArea}

/api/sdnc-config-db/v4/ta-list/{PLMNId}/{coverageArea}


Returns List of a tracking area (coverageAreaTAList) of the specified coverage area
Done




Question Comment
1

API 9 & 10:

There are multiple placeholders for it in the same ancestor of DU, RTRIC, CUUP and CUCP NFs.


For DU-list we have identified:

cps-ran-schema/GNBDUFunction/attributes/RRMPolicyRatio/attributes/sNSSAI

For the DU list, we can also use the sNSSAI from cell-list which comes under DU.


For cell-list we have identified:

cps-ran-schema/NRCellDU/attributes/pLMNInfoList/sNSSAIList/sNSSAI
cps-ran-schema/NRCellDU/attributes/RRMPolicyRatio/attributes/rRMPolicyMemberList/sNSSAI

Would you please guide us as to what would be the right attributes to be considered in the search for these GET APIs?

From: ahila.pandaram@wipro.com <ahila.pandaram@wipro.com>

As per the current SDN-R implementation, sNSSAI is configured in NRCellDU, NRCellCU & gNBCUUP. NearRTRIC is configured only in closed loop scenarios.


So please make use of this for the APIs (9) & (10). cps-ran-schema/GNBDUFunction/NRCellDU/attributes/pLMNInfoList/sNSSAIList/sNssai



2

API 12:

We did not identify the slice config attribute for API#12 to be mapped in the Network Slicing.

Kindly provide us with the right model and data.

From: ahila.pandaram@wipro.com <ahila.pandaram@wipro.com>

API (12) can make use of this: cps-ran-schema/NearRTRIC/attributes/pLMNInfoList/sNSSAIList/sNssai

3

The questions are as follows

  1. When inserting a value that already exists into a list do we reject it or replace it without warning? - <Ahila> It can be rejected.
  2. For API number 4, 5 and 6, when this API is called does it create a new entry or does it update an existing entry? <Ahila> - Create a new entry, if it does not exists. Update, if it already exists.
  3. Could you confirm the exact list you are referring to for API number 7? <Ahila> - The comment was updated by Toine. He is referring to the list below. The expected behaviour here is that update to the parent and the child list.


+--rw rRMPolicyMemberList* [idx]

        |        |  +--rw idx       uint32

        |        |  +--rw mcc       Mcc

        |        |  +--rw mnc       Mnc

        |        |  +--rw sNSSAI?   SNssai