Versions Compared

Key

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

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

...

  1. Wiki Page with a conclusion for each API call (see toines example for API call no.2 https://wiki.onap.org/display/DW/CPS+APIs)
  2. Add new update functionality if needed to https://wiki.onap.org/display/DW/CPS-235%3A+Overview+of+%28early%29+CPS+Update+Scenarios
    https://wiki.onap.org/display/DW/CPS-235%3A+Overview+of+%28early%29+CPS+Query+and+Update+Scenarios
  3. Review with the full team
  4. Review with network slicing team

Issues and Decisions


IssueNotesDecision
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.

2Would 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.

3Confirm the exact list you a referring to in no 7?
  1. 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


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

...

S.No

API endpoint

Description

API input/Request Payload

Yang sub-tree/element(s) accessed (for GET), or updated (for UPDATE)

Consuming Component

Target ComponentTransformation Required?

Comments

3./api/sdnc-config-db/v4/nearRTRICStore 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]
+--rw idNearRTRIC string
+--rw attributes
| +--rw dnPrefix? DistinguishedName
| +--rw userLabel? string
| +--ro locationName? string
| +--ro gNBId? int64
| +--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

SDN-RNCMP

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/gNBCUCPStore gNBCUCP, NRCellCU details

{
   "gNBCUName":"cucpserver1"
   "gNBId":98763,
   "gNBIdLength":5,
   "pLMNId":"310-410",
   "nFType":"CUCP",
   "nearRTRICId":11,
   "cellCUList":[
       {
    "cellLocalId":103594000,
    "pLMNInfoList":[
        {
            "pLMNId":"310-200",
            "sNSSAI":{
                "sNSSAI":"001-00110",
                "status":"ACTIVE",
                 "configData":{
                    "maxNumberOfConns"7000
            }
            }
        }
    ]
}
   ]
}

cps-ran-schema-model

+--rw GNBCUCPFunction* [idGNBCUCPFunction]
+--rw idGNBCUCPFunction string
+--rw attributes
| +--rw gNBId? int64
| +--rw gNBIdLength? int32
| +--rw gNBCUName? string
| +--rw pLMNId* [mcc mnc]
| +--rw mcc Mcc
| +--rw mnc Mnc
+--rw NRCellCU* [idNRCellCU]
+--rw idNRCellCU 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

SDN-RNCMP

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>


Would this be a new entry or is this updating an existing entry in a list?

5./api/sdnc-config-db/v4/gNBCUUPStore gNBCUUP details

{
   "gNBCUUPId":1111
   "gNBId":98763,
   "gNBIdLength":2,
   "pLMNId":"310-410",
   "resourceType":"DRB",
   "nearRTRICId":11,
    "pLMNInfoList":[
        {
            "pLMNId":"310-410",
            "sNSSAI":{
                "sNSSAI":"001-003",
                "status":"ACTIVE",
                "configData":{
                    "maxNumberOfConns"3000
            }
            }
        }
    ]
}

cps-ran-schema-model

+--rw GNBCUUPFunction* [idGNBCUUPFunction]
| +--rw idGNBCUUPFunction string
| +--rw attributes
| +--ro gNBCUUPId? uint64
| +--rw gNBId? int64
| +--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

SDN-RNCMP

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>


Would this be a new entry or is this updating an existing entry in a list?

Check list

6./api/sdnc-config-db/v4/gNBDUStore gNBDU, NRCellDU details

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

SDN-RNCMP

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>


Would this be a new entry or is this updating an existing entry in a list?


Will require a new method in cps core to add something to a list.

7./api/sdnc-config-db/v4/rrmPolicyStore network elements' RRMPolicy details

{
    "rrmPolicyID":1,
    "resourceID":"113025289",
    "resourceType":"PRB",
    "sliceType":"eMBB",
    "quotaType":"STRICT",
    "rRMPolicyMaxRatio":0,
    "rRMPolicyMinRatio":10,
    "rRMPolicyDedicatedRatio":0,
    "rRMPolicyMemberList":[
        {
            "pLMNId":"310-400",
            "sNSSAI":"001-010000"
        }
    ]
}

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
| | +--rw quotaType? QuotaType
| | +--rw rRMPolicyMaxRatio? uint8
| | +--rw rRMPolicyMinRatio? uint8
| | +--rw 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>


Is this updating a single entry in a list? We were unable to find rrmPolicyID in the current model.



8./api/sdnc-config-db/v4/ranslice-detailsRAN 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* string
| +--rw pLMNIdList* [mcc mnc]
| +--rw mcc Mcc
| +--rw mnc Mnc
+--rw subnetStatus? string
+--rw nsstid? string
+--rw slicetype? string
+--rw isshareable? string

SDN-Rcps 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.

...