Uploaded image for project: 'Near Realtime RAN Intelligent Controller'
  1. Near Realtime RAN Intelligent Controller
  2. RIC-298

E2M - Update GNB Request REST API - Implementation

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Medium Medium
    • Bronze-R4
    • None
    • e2mgr
    • None

      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

       

       

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Unassigned Unassigned
            avinoambernstein Avinoam Bernstein
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: