Versions Compared

Key

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

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)

  1. Fetch the List of Cells using API #2
  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

...

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:

{
   "gNBCUUPId":1111
   "gNBId":98763,
   "gNBIdLength":2,
   "pLMNId":"310-410",
   "resourceType":"DRB",
   "nearRTRICId":11,
    "pLMNInfoList":[
        {
            "pLMNId6.{
   "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":[
        {
            "ranslice-details

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./v4/du-list/{sNSSAI}

Yang model defines only the pLMNInfoConfiguration.

Key is NEarRTRICid

Suggested CPS-Query: get lis elements with children where leave has certain value,.

S.NoUse caseAPI endpointHTTP MethodDescriptionAPI input/Request PayloadResult obtained for API call (in case of GET)Yang sub-tree/element(s) accessed (for GET), or updated (for UPDATE)Consuming ComponentPriorityComments
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-R1

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)

<Ahila> Please note the below:

  1. Fetch the List of Cells using API #2
  2. Fetch the parents and grandparents pertaining to those cells
2.E2E Network Slicing/api/sdnc-config-db/v4/cell-list/{trackingArea}GETGet a list of cells that correspond to a specific tracking area

trackingArea - String

<Changes at consumer end> - trackingArea should be an int

[
  "15289",
"15290",
"15296"
]

cps-cavsta-onap-internal

+--rw taCellsList* [cellLocalId]
+--rw cellLocalId int32

SDN-R

1

Proposed CPS query:
get all elelements in list (NRCellDU) fiter on one attribue vale (nRTAC)

Same as #1 except without children

Refer cps-cavsta-onap-internal

In scope of H-release

3.E2E Network Slicing/api/sdnc-config-db/v4/nearRTRICPUTStore 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-R1

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/gNBCUCPPUTStore 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-R1

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/gNBCUUPPUTStore 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-R1

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/gNBDUPUTStore 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",

            "globalSubscriberId":"Customer-001",
                "subscriptionServiceType":"Premium",
                "

                "configData":{

                   

               "dLThptPerSlice":

25

 9,

                   

                "uLThptPerSlice":

30,
                    "maxNumberOfConns":3000
                }
            }
        }       

 10
                }
            }
        }
    ]
}
   ]
}


cps-ran-schema-model

+--rw NearRTRICGNBDUFunction* [idNearRTRICidGNBDUFunction]
| +--rw idNearRTRIC idGNBDUFunction string
| +--rw attributes
| | +--ro gNBId? int64
| | +--rw dnPrefix? DistinguishedName
gNBIdLength? int32
| | +--rw gNBDUId? int64
| | +--rw userLabel? gNBDUName? string
| +--rw NRCellDU* [idNRCellDU]
| +--rw idNRCellDU string
| +--ro locationName? stringrw attributes
| +--ro gNBIdrw cellLocalId? int64int32
| +--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-RSlicing1

There is no model that defines that has a TrackingArea String

is this now the 'locationName'?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!

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>

47.E2E Network Slicing/api/sdnc-config-db/v4/gNBCUCPrrmPolicyPUTStore gNBCUCP, NRCellCU network elements' RRMPolicy details

{
       "gNBCUNamerrmPolicyID":"cucpserver1"1, 
       "gNBIdresourceID":98763"113025289",
       "gNBIdLengthresourceType":5"PRB",
       "pLMNIdsliceType":"310-410eMBB",
       "nFTypequotaType":"CUCPSTRICT",
       "nearRTRICIdrRMPolicyMaxRatio":110,
       "cellCUListrRMPolicyMinRatio":[
       {10,
    "cellLocalIdrRMPolicyDedicatedRatio":1035940000,
    "pLMNInfoListrRMPolicyMemberList":[
        {
            "pLMNId":"310-200",
            "sNSSAI":{
                "sNSSAI":"001-00110",
                "status":"ACTIVE",
                 "configData":{
                    "maxNumberOfConns"7000
            }
            }400",
            "sNSSAI":"001-010000"
        }
    ]
}
   ]
}


cps-ran-schema-model

+--rw GNBCUCPFunctionRRMPolicyRatio* [idGNBCUCPFunctionid]
| | +--rw idGNBCUCPFunction id string
| | +--rw attributes
| +--rw gNBId? int64
| +--rw gNBIdLengthresourceType? int32string
| +--rw gNBCUName? string
| +--rw pLMNIdrRMPolicyMemberList* [mcc mncidx]
| +--rw mcc Mcc
| +--rw mnc Mnc
+--rw NRCellCU* [idNRCellCU]
+--rw idNRCellCU string
+--rw attributes
| +--rw cellLocalId? int32idx uint32
| +--rw pLMNInfoList* [mcc mnc]
| | +--rw mcc Mcc
| | | +--rw mnc Mnc
| | +--rw sNSSAIList* [sNssai]
| | +--rw sNssai stringsNSSAI? SNssai
| | +--rw statusquotaType? stringQuotaType
| | +--rw configData* [configParameter]rRMPolicyMaxRatio? uint8
| | +--rw configParameter stringrRMPolicyMinRatio? uint8
| | +--rw configValuerRMPolicyDedicatedRatio? int64uint8

SDN-RSlicing1

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!Currently CPS has no option to replace an entire list without udpating its parent wihc seems what is required here.

<Need to discuss>

58./api/sdnc-config-db/v4/gNBCUUPPUTStore gNBCUUP detailsE2E Network Slicing/api/sdnc-config-db/v4/ranslice-detailsPUTRAN 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"

        }

    ],
            
    "sNSSAItrackingAreaList":{
                "sNSSAI
        "Kingston" ,

    "subnetStatus":"001-003ACTIVE",
                
    "statusnsstId":"ACTIVENSSTID1",
                
    "configDatasliceType":{
                    "maxNumberOfConns"3000
            }
            }
        }
    ]
}

cps-ran-schema-model

+--rw GNBCUUPFunction* [idGNBCUUPFunction]"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 idGNBCUUPFunction stringlatency? int64
| +--rw attributesuLThptPerSlice? int64
| +--ro gNBCUUPIdrw dLThptPerSlice? uint64int64
| +--rw gNBIdmaxNumberofConns? int64
| +--rw pLMNInfoList* [mcc mnc]uEMobilityLevel? string
| +--rw mcc MccresourceSharingLevel? string
| +--rw mnc MnccoverageAreaList* string
| +--rw sNSSAIListpLMNIdList* [sNssaimcc mnc]
| +--rw sNssai stringmcc Mcc
| +--rw statusmnc Mnc
+--rw subnetStatus? string
| +--rw configData* [configParameter]
| nsstid? string
+--rw configParameter slicetype? string
| +--rw configValueisshareable? int64string

SDN-RSlicing1

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>

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/gNBDUPUTStore gNBDU, NRCellDU details/du-list/{sNSSAI}GETFetch the DU functions for sNSSAIsNSSAI - String

[

{

   "gNBDUId":1,

   "gNBId":98763,

   "gNBIdLength":5,

   "pLMNId":"310-410004",            
            "sNSSAI":{
                "sNSSAI":"001-010000",
                "status

   "gNBDUName":"ACTIVEgnduserver1",

                   "configDatanFType":{
               "dLThptPerSlice"9,
                "uLThptPerSlice"10
                }
            }
        }
    ]
},
{
    "DU",

   "nearRTRICId":11,

   "cellDUList":[

       {

    "cellLocalId":1129515621,

        "operationalState":"ENABLED",

        "administrativeState":"UNLOCKED",

        "cellState":"ACTIVE",

        "nRPCI":12,

        "nRTAC":310,

    "pLMNInfoList":[

        {

            "pLMNId":"310-004",
    "resourceType":"PRB",
    "pLMNInfoList":[
        {
            

            "sNSSAI":{

                "sNSSAI":"001-003",

                "status":"ACTIVE",

                "configData":{

                "dLThptPerSlice": 45,

                "uLThptPerSlice": 40

                }

            }

        },

        {

            "pLMNId":"310-410",                        

            "sNSSAI":{

                                "sNSSAI":"001-010000024",

                                "status":"ACTIVE",                

                "configData":{

                "dLThptPerSlice":  965,                

                "uLThptPerSlice":  10
                30

                }

            }

                    }

    ]

        }

       ]

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

]


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 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
| +--rw NRCellDU* [idNRCellDU]
| +--rw idNRCellDU string
| +--rw attributes
| +--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 gNBIdLengthrRMPolicyMaxRatio? int32uint8
| | +--rw gNBDUIdrRMPolicyMinRatio? int64uint8
| | +--rw gNBDUNamerRMPolicyDedicatedRatio? stringuint8
| +--rw NRCellDU* [idNRCellDU]cellLocalId? int32
| +--rw idNRCellDU string
pLMNInfoList* [mcc mnc]
| | +--rw attributesmcc Mcc
| | +--rw cellLocalId? int32mnc Mnc
| | +--rw pLMNInfoListsNSSAIList* [mcc mncsNssai]
| | +--rw mcc MccsNssai string
| | +--rw mnc Mncstatus? string
| | +--rw sNSSAIListconfigData* [sNssaiconfigParameter]
| | +--rw sNssai configParameter string
| | +--rw statusconfigValue? stringint64
| +--rw nRPCI? int32
| +--rw nRTAC? Tac

DCAE--rw configData* [configParameter]
| | +--rw configParameter string
| | +--rw configValue? int64
| +--rw nRPCI? int32
| +--rw nRTAC? Tac
SDN-RSlicing1

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/rrmPolicyPUTStore 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"
        }
    ]
}

slice-analysis-ms1

Suggested CPS Actions:
query list element that have leaf (sNSSAI) with given value. Also get parent? (requires additional get)

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/du-cell-list/{sNSSAI}GETFetch DU Cells for sNSSAIsNSSAI - String

{

   "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 RRMPolicyRatioNRCellDU* [ididNRCellDU]
| | +--rw id idNRCellDU string
| | +--rw attributes
| | +--rw resourceTypecellLocalId? stringint32
| | +--rw rRMPolicyMemberListpLMNInfoList* [idxmcc mnc]
| | +--rw mcc Mcc
| | +--rw idx uint32mnc Mnc
| | | +--rw mcc MccsNSSAIList* [sNssai]
| | | +--rw mnc MncsNssai string
| | | +--rw sNSSAIstatus? SNssaistring
| | +--rw quotaType? QuotaTypeconfigData* [configParameter]
| | +--rw rRMPolicyMaxRatio? uint8configParameter string
| | +--rw rRMPolicyMinRatioconfigValue? uint8int64
| +--rw nRPCI? int32
| +--rw rRMPolicyDedicatedRationRTAC? uint8

SDN-RSlicing1

Currently CPS has no option to replace an entire list without udpating its parent wihc seems what is required here.

<Need to discuss>

8.

Tac

DCAE-slice-analysis-ms1

Yang model defines only the DUCellList which is the value in the response.

Key is a nearRTRICId


Suggested CPS Actions:
query list element that have leaf (sNSSAI) with given value. Also get parent? (requires additional get)

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/PUTRAN 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 sNSSAIprofile-config/{sNSSAI}
GETFetch slice profile configuration for a sNSSAIsNSSAI - 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}GETFetch NearRTRIC configuration for a sNSSAIsNSSAI - String

{

    "1": {

        "dLThptPerSlice": 45,

        "uLThptPerSlice": 40

    }

}

Note:

key "1" is nearRTRICId - marked in green color

Value - nssai config - marked in purple color

+--rw cps-ran-schema
+--rw NearRTRIC* [idNearRTRIC]
+--rw idNearRTRIC string
+--rw attributes
| +--rw dnPrefix? DistinguishedName
| +--rw userLabel? string
| +--rw maxNumberofUEsro locationName? int64string
| +--rw latencyro gNBId? int64
| +--rw uLThptPerSlice? int64
pLMNInfoList* [mcc mnc]
| | +--rw dLThptPerSlice? int64mcc Mcc
| | +--rw maxNumberofConns? int64mnc Mnc
| | +--rw uEMobilityLevel? stringsNSSAIList* [sNssai]
| | +--rw resourceSharingLevel? sNssai string
| | +--rw coverageAreaList* status? string
| | +--rw pLMNIdListconfigData* [mcc mncconfigParameter]
| | +--rw mcc MccconfigParameter string
| | +--rw configValue? int64

DCAE-slice-analysis-ms1

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--rw mnc Mnc
+--rw subnetStatus? string
+--rw nsstid? string
+--rw slicetype? string
+--rw isshareable? string
SDN-RSlicing2db/v4/subscriber-details/{sNSSAI}GETFetch subscriber detailssNSSAI - String

DCAE-slice-analysis-ms2

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-dbGETFetch the DU functions for sNSSAIsNSSAI - 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]
| +--rw idGNBDUFunction string
| +--rw attributes
| | +--ro gNBId? int64
| | +--rw gNBIdLength? int32
| | +--rw gNBDUId? int64
| | +--rw gNBDUName? string
| | +--rw RRMPolicyRatio* [id]
| | +--rw id string
| /v3/insertData
PUTPre-load Cell Data
{
"cellList": [{
"Cell": {
"networkId": "jio",
"nodeId": "Chn1003",
"physicalCellId": 0,
"pnfName": "ncserver1007",
"sectorNumber": 0,
"latitude": "13.081907",
"longitude": "80.270862"
},
"neighbor": [
"Chn1006",
"Chn906",
"Chn1005",
"Chn905"
]
}]
}


OOF-PCI MS3
15.5G SON/api/sdnc-config-db/v3/modifyPci/{cellId}PATCHModfify PCI value of a cell

{

"pci-value":1

}


+--rw GNBDUFunction* [idGNBDUFunction]
| +--rw idGNBDUFunction string

| +--rw NRCellDU* [idNRCellDU]
| +--rw idNRCellDU 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
| +--rw NRCellDU* [idNRCellDUnRPCI? int32


SDNR3
16.5G SON/api/sdnc-config-db/v3/modifyNbrHO/{cellId}/{targetCellId}PATCHModify HO (Handoff) flag for a target neighbor cell

{

"ho":false

}


+--rw GNBCUCPFunction* [idGNBCUCPFunction]

+--rw idGNBCUCPFunction string

+--rw NRCellCU* [idNRCellCU]
+--rw idNRCellCU string

+--rw NRCellRelation* [idNRCellRelation]
| +--rw idNRCellDU idNRCellRelation string

| +--rw attributes
| +--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
| +--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

DCAE-slice-analysis-msSlicing1

Suggested CPS Actions:
query list element that have leaf (sNSSAI) with given value. Also get parent? (requires additional get)

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.

isHOAllowed? boolean

SDNR3
17.5G SON/api/sdnc-config-db/v3/createNbr/{cellId}PUTCreate a neigbor for a cell
{
  "ho": true,
  "targetCellId": "string"
}

+--rw GNBCUCPFunction* [idGNBCUCPFunction]

+--rw idGNBCUCPFunction string

+--rw NRCellCU* [idNRCellCU]
+--rw idNRCellCU string

+--rw NRCellRelation* [idNRCellRelation]
| +--rw idNRCellRelation string

| +--rw isHOAllowed? boolean

SDNR3
18.5G SON/api/sdnc-config-db/v3/deleteNbr/{cellId}/{targetCellId}DELETEDelete a neighbor for a call

cellId - string

trgetCellId - string


+--rw GNBCUCPFunction* [idGNBCUCPFunction]

+--rw idGNBCUCPFunction string

+--rw NRCellCU* [idNRCellCU]
+--rw idNRCellCU string

+--rw NRCellRelation* [idNRCellRelation]
| +--rw idNRCellRelation string

SDNR3
19.E2E Network Slicingapi/sdnc-config-db/v4/nearrtric/{ranNFNSSIId}GETFetches the NearRTRICs for the RANNFNSSIranNFNSSIId - String

Returns the RAN-schema yang (Refer CPS - 196)

SDNR1
20.E2E Network Slicing/api/sdnc-config-db/v4/plmn/{sliceProfileId}GETReturns PLMN id for the sliceProfilesliceProfileId - StringPLMNId as String
SDNR1
21.E2E Network Slicing/api/sdnc-config-db/v4/du-cell-list/{sNSSAI}GETFetch DU Cells for sNSSAIsNSSAI - String

{

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

DCAE-slice-analysis-msSlicing1

Yang model defines only the DUCellList which is the value in the response.

Key is a nearRTRICId

Suggested CPS Actions:
query list element that have leaf (sNSSAI) with given value. Also get parent? (requires additional get)

Seems very simialr to #9

Sample seems to return other/all(?) pLMNInfoList with different sNSSAIs

Similar to #9

11.ta-list/{mcc}/{mnc}/{coverageArea}
GETReturns 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]
+--rw coverageArea string
+--rw coverageAreaTAList* [nRTAC]

OOF1In scope of H-release
22.5G SON

/api/sdnc-config-db/v3/getCell/{cellId}

GETGet information about a cell. cellId is referred to in 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 idNRCellDU string

+--rw NRCellCU* [idNRCellCU]
+--rw idNRCellCU string

OOF, Policy3
23.5G SON

/api/sdnc-config-db/v3/

v4/profile-config

getCellList/{regionId}/{

sNSSAI

ts}

GETFetch slice profile configuration for a sNSSAIsNSSAI - String

DCAE-slice-analysis-ms,

ML MS

Slicing2

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

v4

v3/

slice-config

getNbrCellsNetwork/{

sNSSAI

regionId}

GETFetch NearRTRIC configuration for a sNSSAIsNSSAI - String

{

    "1": {

        "dLThptPerSlice": 45,

        "uLThptPerSlice": 40

    }

}

Note:

key "1" is nearRTRICId - marked in green color

Value - nssai config - marked in purple colorGet 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 NearRTRIC* [idNearRTRIC]
+--rw idNearRTRIC string
+--rw attributes
| +--rw dnPrefix? DistinguishedName
| +--rw userLabel? string
| +--ro locationName? string
| +--ro gNBId? int64
| +--rw pLMNInfoList* [mcc mnc]
| Regions* [regionId]
| +--rw mcc MccregionId RegionId
| | +--rw mnc Mnc
| cps-region-cell-mapping
| +--rw sNSSAIListNRCellCU* [sNssaiidNRCellCU]
| +--rw idNRCellCU string
| +--rw sNssai stringattributes
| | +--rw statuscellLocalId? stringint32
| | +--rw configDataNRCellRelation* [configParameteridNRCellRelation]
| | +--rw configParameter idNRCellRelation string
| | +--rw configValue? int64
DCAE-slice-analysis-msSlicing113./api/sdnc-config-db/v4/subscriber-details/{sNSSAI}GETFetch subscriber detailssNSSAI - StringDCAE-slice-analysis-msSlicing2

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.attributes
| +--rw nRTCI? uint64

3
25.5G SON

/api/sdnc-config-db/v3

/insertData
PUTPre-load Cell Data
{
"cellList": [{
"Cell": {
"networkId": "jio",
"nodeId": "Chn1003",
"physicalCellId": 0,
"pnfName": "ncserver1007",
"sectorNumber": 0,
"latitude": "13.081907",
"longitude": "80.270862"
},
"neighbor": [
"Chn1006",
"Chn906",
"Chn1005",
"Chn905"
]
}]
}
OOF-PCI MSSON315./api/sdnc-config-db/v3/modifyPci/{cellId}PATCHModfify PCI value of a cell

{

"pci-value":1

}

SDNRSON316.

/getNbrList/{cellId}/{ts}

GETGet a list of neighbors for a cell
{
"cellId": "string",
"nbrList": [
{
"ho": true,
"pciValue": 0,
"targetCellId": "string"
}
]
}

+--rw cps-ran-schema

+--rw NRCellCU* [idNRCellCU]
+--rw idNRCellCU string

+--rw NRCellRelation* [idNRCellRelation]
| +--rw idNRCellRelation string
| +--rw attributes
| +--rw nRTCI? uint64


3
26.5G SON

/api/sdnc-config-db/v3/

modifyNbrHO

getPCI/{cellId}/{

targetCellId

ts}

PATCHModify HO (Handoff) flag for a target neighbor GETGET PCI value of a cell
{
"
ho":false

}

SDNRSON317./api/sdnc-config-db/v3/createNbr/{cellId}PUTCreate a neigbor for a cell{ "ho": true, "targetCellId
attribute-name": "string",
"value": "string"
}
SDNRSON318.

}

+--rw cps-ran-schema

+--rw GNBDUFunction* [idGNBDUFunction]

| +--rw NRCellDU* [idNRCellDU]

| +--rw nRPCI? int32


3
27.5G SON

/api/sdnc-config-db/v3/

deleteNbr

getPnfId/{

cellId

maanagedElementId}/{

targetCellId

ts}

DELETEGETDelete a neighbor for a call

cellId - string

trgetCellId - string

SDNRSON319.api/sdnc-config-db/v4/nearrtric/{ranNFNSSIId}GETFetches the NearRTRICs for the RANNFNSSIranNFNSSIId - String

Returns the RAN-schema yang (Refer CPS - 196)

SDNRSlicing120./api/sdnc-config-db/v4/plmn/{sliceProfileId}GETReturns PLMN id for the sliceProfilesliceProfileId - StringPLMNId as StringSDNRSlicing1

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
For GNBDUFunction: - gNBDUId
For GNBCUUPFunction: gNBCUUPId
For GNBCUCPFunction: gNBCUName


{
"attribute-name": "string",
"value": "string"
}

+--rw cps-ran-schema

+--rw NearRTRIC* [idNearRTRIC]
+--rw idNearRTRIC string

+--rw GNBDUFunction* [idGNBDUFunction]
| | +--rw gNBDUId? int64

+--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
languagexml
titleData Sample
collapsetrue
{
  "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

...