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