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.41
$ 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
NodebInfo
Last updated
Proto file: nodeb_info.proto
NbIdentity
Last updated
Proto file: nb_identity.proto
Enb
Last updated
Proto file: enb.proto
Gnb
Last updated (R5)
Proto file: gnb.proto
RanFunction
R5
Last updated (R5)
Proto file: ran_function.proto
Cells
Last updated
Proto file: cells.proto
Cell
Last updated
Proto file: cell.proto
x2 setup failure response
Last updated
Proto file: x2_setup_failure_response.proto
RanLoadInformation
Last updated
Proto file: ran_load_information.proto
GnbListJsonResponse
Response | Json | Example |
---|---|---|
Successed Response |
|
|
Successed 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" } |