Config DB is used to store the configuration and operation parameters of xNFs. It also persists the RAN slice details and acts as a RAN inventory.
For G-release, it stores the details of NearRTRIC, CU, DU, RRM Policy and RAN Slice details. Static mapping between tracking area and cells are also persisted.
Database Schema
NearRTRIC
Columns | Type | Description |
nearRTRICId | integer | Unique Id |
gNBId | Integer | |
trackingArea | String | Tracking Area for which the service is requested |
NRCellDUList | List<GNBDUFunction> | List of gNBDUFunction -Bidirectiona one-to-many relationship with NGRANInfo & gNBCUCPFunction |
NRCellCUCPList | List<GNBCUCPFunction> | List of gNBCUCPFunction - Bidirectiona one-to-many relationship with NGRANInfo & gNBDUFunction |
NRCellCUUPList | List<GNBCUUPFunction> | List of gNBCUUPFunction - Bidirectiona one-to-many relationship with NGRANInfo |
ranNFNSSIList | List<String> | RANNFNSSI list |
pLMNInfoList | List<PLMNInfo> | NSSAI List |
GNBCUCPFunction
Columns | Type | Description |
gNBId | Integer | |
gNBIdLength | Integer | |
gNBCUName | String | |
pLMNId | String | |
nFType | String | |
cellCUList | List<NRCellCU> | Bidirectional one-to-many relationship with GNBCUCPFunction |
nearRTRICId | Integer | Foreign key to relate with NearRTRIC |
GNBCUUPFunction
Columns | Type | Description |
gNBId | Integer | |
gNBIdLength | Integer | |
gNBCUUPId | Integer | Unique id |
pLMNInfoList | List<PLMNInfo> | List of NSSAIs |
resourceType | String | DRB |
nearRTRICId | Integer | Foreign key to relate with NearRTRIC |
GNBDUFunction
Columns | Type | Description |
gNBId | Integer | |
gNBIdLength | Integer | |
gNBDUId | Integer | Primary key |
gNBDUName | String | |
nFType | String | |
cellDUList | List<NRCellDU> | Bidirectional one-to-many relationship with GNBDUFunction |
nearRTRICId | Integer | Foreign key to relate with NearRTRIC |
NRCellCU
Columns | Type | Description |
cellLocalId | Integer | |
resourceType | String | RRC Connected Users |
pLMNInfoList | List<PLMNInfo> | |
gNBCUName | String | Foreign key |
NRCellDU
Columns | Type | Description |
cellLocalId | Integer | identifies a NR cell within a PLMN |
operationalState | enum | allowedValues: ENABLED, DISABLED |
administrativeState | enum | allowedValues: LOCKED, SHUTTING DOWN, UNLOCKED. |
cellState | enum | allowedValues: IDLE", INACTIVE", ACTIVE. |
pLMNInfoList | List<PLMNInfo> | |
nRPCI | Integer | Physical Cell Identity (PCI) of the NR cell |
nRTAC | Integer | Tracking Area code |
gNBDUId | Integer | foreign key |
PLMNInfo
Attribute name | Type |
pLMNId | String |
NSSAI | NSSAI |
NSSAI
Attribute name | Type |
sNSSAI | String |
status | String |
configData | NSSAIConfig |
globalSubscriberId | String |
subscriptionServiceType | String |
NSSAIConfig
Attribute name | Type |
maxNumberOfConns | Integer |
dLThptPerSlice | Integer |
uLThptPerSlice | Integer |
RANInventory
Columns | Type | Description |
ranNFNSSIID | String | Unique identifier of RAN NF NSSI |
RANNSSIList | List<String> | List of RAN NSSIs |
NSSAIList | List<String> | List of NSSAIs catered by this RAN slice |
sliceProfiles | List<SliceProfile> | |
trackingAreaList | String | List of tracking area stored as json string |
subnetStatus | String | Status of the RAN subnet |
nsstId | String | NSST ID |
sliceType | String | Type of slice eMBB/uRLLC/mMTC |
isShareable | String | Shareability of radio resources |
RRMPolicyRatio
Columns | Type | Description |
rrmPolicyID | integer | Unique Id of the RRMPolicy |
resourceID | String | Id of CU/DU/NearRTRIC |
resourceType | String | |
sliceType | String | Type of slice eMBB/uRLLC/mMTC |
rRMPolicyMemberList | List<RRMPolicyMember> | Embeddable entity |
quotaType | String | "STRICT", "FLOAT" |
rRMPolicyMaxRatio | integer | |
rRMPolicyMinRatio | Integer | |
rRMPolicyDedicatedRatio | integer |
RRMPolicyMember
Attribute name | Type |
pLMNId | String |
sNSSAI | String |
TACells
Attribute name | Type |
trackingArea | String |
cells | String |
API Documentation
Config DB exposes several APIs to read and write data from DB. Refer the Swagger document for API details.
Pre-Loaded Data
DB stores data of 2 NearRTRICs, 2 gNBCUCPFunctions, 2 gNBCUUPFunctions, 6 gNBDUFunctions and 30 Cell details. Refer the document for preloaded data.
Setup Details
cd configdb
#Setup and run maridb container - SDNC_ConfigDB_SchemaV4.sql is attached in the Pre-loaded Data section
sudo docker run -p 3306:3306 -v $PWD/SDNC_ConfigDB_SchemaV4.sql:/docker-entrypoint-initdb.d/SDNC_ConfigDB_SchemaV4.sql --name mariadb -e MYSQL_ROOT_PASSWORD=password -d mariadb
#Navigate to project directory
cd configdb/Config-DB-API-App
#Build the application
mvn clean install
#Run the application
mvn spring-boot:run &
cd configdb/dumpfiles/RAN_DumpFile_15Mar19.json;
#Upload the dump file to the config DB app- Required for SON use case
curl -X PUT -H 'Content-Type:application/json' --data RAN_DumpFile_15Mar19.json http://localhost:8080/api/sdnc-config-db/v3/insertData