-
Story
-
Resolution: Done
-
Medium
-
None
-
None
-
RICP_T4 Sprint B.D4
Requirements:
The payload, after success validation, Read the current gNB into Protobuff, and should fill the protobuff and store in DB the Cell & Neighbor. In the memory delete the Cell Info Array and update the new one. Don't "touch" the RAN functions inside the gNB!
Also here, if RNIB Error - Return 500 + RNIB Error (Or SW Exception).
Remember we need to update not only the NodeB <Ran Name>, but also, for each Cell, the Cells <Cell ID>.
At the end, in case success, the REST API Returns the same Response like Get NodeB.
Note:
To be 100% proof, we need to do Protect any writing of nodeB (Update gNB, Setup from RAN, Service Update, Lost Connection) in one handler that will do Lock, Read, update in DB and unlock.
Let's do only if we have time to do it.
Acceptance:
- We have RAN X with Functions only. Assume the REST contains 2 cells object (A & B), one with 1 neighbor. See that this Method returns the same response like Get NodeB - it retrieves both the Functions and array of cells. See, that the RNIB Query Cell ID retrieves the exact cell & its neighbor (If provided).
- Send New REST for RAN X contains 1 cell object (Cell C), one with 2 neighbor. See, that the RNIB Query retrieves both the Functions and the 1 (one) cell & 2 (Two, Tnein, Shtaim) neighbor. See that this Method returns the same response like Get NodeB. See that the deleted Cell doesn't return in Cells <Cell ID - A or B).
- See that Setup on this RAN X (with new Functions) update only the Functions (leaving the old Cells and neighbors).
Test Plan
Given | When | Then |
---|---|---|
Validation passes DB is down |
PUT /nodeb/test is called {...} | HTTP 500 Internal Server Error, {"errorCode":500,"errorMessage":"RNIB error"} |
Validation passes Ran test exists and includes functions only AND request servedNrCells includes two cells AND one of them includes nrNeighbourInfos that has one item |
PUT /nodeb/test is called{...} | HTTP 200 OK is returned; Response is the same as GetNodebResponse (nodebInfo which includes gnb and its' servedNrCells & functions) Both NodebId key and NodebName key are populated with updated nodebInfo (gnb -> servedNrCells are the request servedNrCells) PCI and NRCELL keys are populated with cells |
Given the above case AND request servedNrCells includes one cell which includes nrNeighbourInfos that has two items |
PUT /nodeb/test is called {...} | HTTP 200 OK is returned; Response is the same as GetNodebResponse (nodebInfo which includes gnb and its' servedNrCells & functions) Both NodebId key and NodebName key are populated with updated nodebInfo (gnb -> servedNrCells are the request servedNrCells) PCI and NRCELL keys are populated with cells |
Given above cases | SETUP /nodeb/test is called {...} | Only GNB functions are updated (cells & neighbors stays the same) Nodeb connectionStatus = CONNECTED |
1.
|
Implementation (rNibWriter + e2mgr) | Done | Idan Shalom | |
2.
|
UTs | Done | Idan Shalom | |
3.
|
Automation | Done | Eyal Carmiel |