NODEB-RNIB APIs
| Document status | DRAFT |
|---|---|
| Document owner | |
| Owner Details | +972-54-2891166, mailto:ab600d@intl.att.com |
RNIB Queries Request Overview
The purpose of this document is to describe the RNIB Queries the E2M supplies: Input and Output.
Error Handling
We defined few custom errors that implement error interface
type InternalError struct{
err error
}
func NewInternalError(error error) error {
return &InternalError{err:error}
}
func (e InternalError) Error() string {
return e.err.Error()
}
type ResourceNotFoundError struct{
message string
}
func NewResourceNotFoundError(msg string) error {
return &ResourceNotFoundError{message:msg}
}
func NewResourceNotFoundErrorf(fmtMsg string, a ...interface{}) error {
return &ResourceNotFoundError{message:fmt.Sprintf(fmtMsg, a...)}
}
func (e ResourceNotFoundError) Error() string {
return e.message
}
type ValidationError struct{
message string
}
func NewValidationError(msg string) error {
return &ValidationError{message:msg}
}
func NewValidationErrorf(fmtMsg string, a ...interface{}) error {
return &ValidationError{message: fmt.Sprintf(fmtMsg, a...)}
}
func (e ValidationError) Error() string {
return e.message
}
List RNIB Queries (Short)
| # | API + Input | Output |
|---|---|---|
| 1 | GetNodeb (Inventory Name) | NodebInfo |
| 2 | GetNodebByGlobalNbId(“GNB”:<GlobalGNB-ID> or “ENB”:<GlobalENB-ID>)) | NodebInfo |
| 3 | GetListgNBIDs() | NbIdentity |
| 4 | GetListeNBIDs() | NbIdentity |
| 5 | GetCountGnbList() | Int |
| 6 | GetCellList(inventoryName) [] Cells | Cells |
| 7 | GetCell(inventoryName, pci) | Cell |
| 8 | GetCellById(cellType, cellId) | Cell |
| 9 | GetRanLoadInformation (inventoryName) | RanLoadInformation |
| 10 | GetListNodebIds() | NbIdentity |
RNIB Shared Object
| # | API + Input | Output |
|---|---|---|
| 1 | getListGnbIds() | GnbListJsonResponse |
List of RNIB Queries (Long)
Query-1 GetNodeb(Inventory Name)
Description | This API returns the entire data of given NodeB (eNB or gNB) by its inventory name. The inventory name is a unique key that is used by the operator's inventory systems |
Supported Languages | GoLang |
API Signature
Query-2 GetNodebByGlobalNbId(“GNB”:<GlobalGNB-ID> or “ENB”:<GlobalENB-ID>))
Description | This API returns the entire data of given NodeB (eNB or gNB) by its ID. |
Supported Languages | GoLang |
API Signature
Query-3 GetListgNBIDs()
Description | This API returns the list of the gNBs that are stored in the RNIB. The call returns both the inventory name and the gNB ID |
Supported Languages | GoLang |
API Signature
Query-4 GetListeNBIDs()
Description | This API returns the list of the eNBs that are stored in the RNIB. The call returns both the inventory name and the eNB ID |
Supported Languages | GoLang |
API Signature
Query-5 GetCountGnbList()
Description | This API returns the number of the gNBs that are stored in the RNIB. |
Supported Languages | GoLang |
API Signature
Query-6 GetCellList(inventoryName)
Description | Returns the list of cells and neighbours (full data) that are associated with a given eNB or gNB by its inventory name as a key |
Supported Languages | GoLang |
API Signature
Query-7 GetCell(inventoryName, pci)
Description | Returns specific Cell data by Inventory name and PCI or NR PCI as key |
Supported Languages | GoLang |
API Signature
Query-8 GetCellById(cellType, cellId)
Description | This API returns the cell data from by cell type and cell Id |
Supported Languages | GoLang |
API Signature
Query-9 GetRanLoadInformation (inventoryName)
Description | This API returns the RanLoadInformation by the inventory name of the RAN The inventory name is a unique key that is used by the operator's inventory systems. It returns the latest Load Information the E2M receives from this RAN, including the Timestamp. |
Supported Languages | GoLang |
API Signature
GetRanLoadInformation(inventoryName string) (*entities.RanLoadInformation, error)
Query-10 GetListNodebIds ()
Description | This API returns the full list of the NBs that are stored in the RNIB. The call returns both the inventory name and the gNB ID (optional) |
Supported Languages | GoLang |
API Signature
GetListNodebIds()([]*entities.NbIdentity, error)
Init(namespace, poolSize)RNIB Meta-functionality
Description | Initializes the infrastructure required for the RNIB Reader instance |
Supported Languages | GoLang |
API Signature
GetRNibReader(void)
Description | Returns instance from the pool |
Supported Languages | GoLang |
API Signature
Close(void)
Description | Closes RNIB Reader's pool |
Supported Languages | GoLang |
API Signature
RNIB quick start
DEPENDENCIES
RNIB Reader module requires the next packages (modules) to be installed
- Redis
- Protobuf
- sdlgo
- common (RNIB Reader)
- entities (RNIB Reader)
PREREQUISITE
The environment variable DBAAS SERVICE HOST (Redis DB IP) required to be set
INSTALLATION
- In case of Go modules enabled run the next command outside of GOPATH where project (go mod) is located:
R4: $ go get gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader@v1.0.35
R5: $ go get gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader@v1.0.44
$ go build ./…
- In case of Go modules disabled run the next command inside of GOPATH:
$ go get gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git
List of Output Type Protobuf
| Proto message | Proto file | Last updated |
|---|---|---|
| NodebInfo | nodeb_info.proto | 2020-04-20 |
| NbIdentity | nb_identity.proto | 2020-04-05 |
Enb | 2020-07-02 | |
| Gnb | 2020-07-02 | |
| AdditionalCellInformation | 2020-07-02 | |
| RanFunction | ran_function.proto | 2020-06-17 |
| Cells | cells.proto | 2020-04-05 |
| Cell | cell.proto | 2020-04-05 |
| X2SetupFailureResponse | x2_setup_failure_response.proto | 2020-04-05 |
| RanLoadInformation | ran_load_information.proto | 2020-04-05 |
GnbListJsonResponse
| Response | Json | Example |
|---|---|---|
| Success Response |
|
|
| Success Response Empty Gnb List | {"gnb_list": null} | {"gnb_list": null} |
| Failed Response | {"gnb_list": null,"error_msg": ""} | {"gnb_list": null,"error_msg": "dial tcp 127.0.0.1:6379: connect: connection refused"} |