RNIB version upgrade 00/3700/2 v0.4.11
authorMohamed Abukar <abukar.mohamed@nokia.com>
Thu, 14 May 2020 15:33:54 +0000 (18:33 +0300)
committerMohamed Abukar <abukar.mohamed@nokia.com>
Thu, 14 May 2020 15:51:14 +0000 (18:51 +0300)
Change-Id: If3c771e7c459237b92e8a3769b7a22f3edab03a7
Signed-off-by: Mohamed Abukar <abukar.mohamed@nokia.com>
go.mod [changed mode: 0755->0644]
go.sum
pkg/rnib/rNibWriter.go
pkg/xapp/db.go [changed mode: 0644->0755]

diff --git a/go.mod b/go.mod
old mode 100755 (executable)
new mode 100644 (file)
index 078e930..2cbbc5d
--- a/go.mod
+++ b/go.mod
@@ -5,10 +5,10 @@ go 1.12
 require (
        gerrit.o-ran-sc.org/r/com/golog v0.0.1
        gerrit.o-ran-sc.org/r/ric-plt/alarm-go.git/alarm v0.4.2
-       gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.21
-       gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.21
-       gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.0.21
-       gerrit.o-ran-sc.org/r/ric-plt/sdlgo v0.3.1
+       gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.35
+       gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.35
+       gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.0.35
+       gerrit.o-ran-sc.org/r/ric-plt/sdlgo v0.5.0
        github.com/fsnotify/fsnotify v1.4.7
        github.com/go-openapi/errors v0.19.3
        github.com/go-openapi/loads v0.19.4
@@ -17,7 +17,7 @@ require (
        github.com/go-openapi/strfmt v0.19.4
        github.com/go-openapi/swag v0.19.7
        github.com/go-openapi/validate v0.19.6
-       github.com/golang/protobuf v1.3.2
+       github.com/golang/protobuf v1.3.4
        github.com/gorilla/mux v1.7.1
        github.com/jessevdk/go-flags v1.4.0
        github.com/prometheus/client_golang v0.9.3
@@ -30,10 +30,10 @@ replace gerrit.o-ran-sc.org/r/ric-plt/sdlgo => gerrit.o-ran-sc.org/r/ric-plt/sdl
 
 replace gerrit.o-ran-sc.org/r/com/golog => gerrit.o-ran-sc.org/r/com/golog.git v0.0.0-20190604083303-aaffc8ebe3f1
 
-replace gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common => gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.21
+replace gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common => gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.35
 
-replace gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities => gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.21
+replace gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities => gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.35
 
-replace gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader => gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.0.21
+replace gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader => gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.0.35
 
 replace gerrit.o-ran-sc.org/r/ric-plt/alarm-go.git/alarm => gerrit.o-ran-sc.org/r/ric-plt/alarm-go.git/alarm v0.4.2
diff --git a/go.sum b/go.sum
index bd298ca..2d010ed 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -9,10 +9,22 @@ gerrit.o-ran-sc.org/r/ric-plt/alarm-go.git/alarm v0.4.2 h1:XNfkp3PwZ7pfkPszX7NaX
 gerrit.o-ran-sc.org/r/ric-plt/alarm-go.git/alarm v0.4.2/go.mod h1:AdEWKtERGvOQy9ybLhyhrb9w9LLVn8i9xzTwoR5n4BY=
 gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.21 h1:eK9nUZOTMJ/EnMpH9bkWtMgOvCn3u4+PNCb9gu10s6w=
 gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.21/go.mod h1:QJ1uPPZosGbhxUWpUpeM5fLqFHdnWTrVnvW2DgyOCes=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.25 h1:msB3b7s+KoNdzSOKZPgymoMJEpA84fSTWBDCgvbUKaE=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.25/go.mod h1:QJ1uPPZosGbhxUWpUpeM5fLqFHdnWTrVnvW2DgyOCes=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.35 h1:TGXHb4DNY8on+ej4S9VUnk2HibIC/5chDy64OE+bQBQ=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.35/go.mod h1:QJ1uPPZosGbhxUWpUpeM5fLqFHdnWTrVnvW2DgyOCes=
 gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.21 h1:PQ/Mu2ol+8Oh/0BqCWWhPlVVoRCg5dQDEGm4+Opp5w4=
 gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.21/go.mod h1:GXiXLz4ORBeIr0FLIbzENRykgh3Po5uPkX2jICxnRF0=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.25 h1:W9CayjJzo3r0MrgDODBg4YwIEJ/VZc4BWqfK2qWX7jg=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.25/go.mod h1:Fh23KkroYw5CRBh39WzZzxpKSkpQWL3scdzGnMngLo8=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.35 h1:tkM3yE8UzmuH4nf9TqAmiNBSuIZ2CtcMRH2eBIYIzpQ=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.35/go.mod h1:G+4sUBMbLfQ+RrGS65U15tKmbnP+/1b5oLTPmMfyfT4=
 gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.0.21 h1:N3UbqJ9WqC8JEz/TwHHwZwCFAW6VTlZLpD5lnbdD+Y8=
 gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.0.21/go.mod h1:SQBZLy1HP94i1vQ3y730wGFsrHqZtgPaEkzPgtqBNw0=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.0.25 h1:mxLhqHxp4yeo01sT3GrGVa7chaedOd7cj00Q2TK3xJM=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.0.25/go.mod h1:gfLVMDJ1W5uwTphc74b70SGXqBHYjo2v2ZdtroX5pFs=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.0.35 h1:LcxnUUDwsCzYEISKmkjkyYfg/lnLt8ofkPiGK69vNIA=
+gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.0.35/go.mod h1:2bSaXTpECbZieB8bMnubTqMwF3n+mMBxlTaAXvcduNg=
 gerrit.o-ran-sc.org/r/ric-plt/sdlgo.git v0.5.2 h1:UK7awyRKIkVdokWvvkYvazlg3EWIfMnIqCcJxTnLlDA=
 gerrit.o-ran-sc.org/r/ric-plt/sdlgo.git v0.5.2/go.mod h1:y2WhrCvdLkAKdH+ySdHSOSehACJkTMyZghCGVcqoZzc=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
@@ -121,6 +133,8 @@ github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
 github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
 github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.4 h1:87PNWwrRvUSnqS4dlcBU/ftvOIBep4sYuBLlh6rX2wk=
+github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
 github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
 github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
index 74855d6..74fb557 100755 (executable)
@@ -21,15 +21,11 @@ import (
        "fmt"
        rnibcommon "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common"
        rnibentities "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
-       "gerrit.o-ran-sc.org/r/ric-plt/sdlgo"
        "github.com/golang/protobuf/proto"
 )
 
-var writerPool *rnibcommon.Pool
-
 type rNibWriterInstance struct {
-       sdl       *ISdlInstance
-       namespace string
+       sdl rnibcommon.ISdlInstance
 }
 
 /*
@@ -40,44 +36,22 @@ type RNibWriter interface {
 }
 
 /*
-Init initializes the infrastructure required for the RNibWriter instance
+GetRNibWriter returns reference to RNibWriter
 */
-func InitWriter(namespace string, poolSize int) {
-       initWriterPool(poolSize,
-               func() interface{} {
-                       var sdlI ISdlInstance = sdlgo.NewSdlInstance(namespace, sdlgo.NewDatabase())
-                       return &rNibWriterInstance{sdl: &sdlI, namespace: namespace}
-               },
-               func(obj interface{}) {
-                       (*obj.(*rNibWriterInstance).sdl).Close()
-               })
-}
 
-/*
-InitPool initializes the writer's instances pool
-*/
-func initWriterPool(poolSize int, newObj func() interface{}, destroyObj func(interface{})) {
-       writerPool = rnibcommon.NewPool(poolSize, newObj, destroyObj)
-}
-
-/*
-GetRNibWriter returns RNibWriter instance from the pool
-*/
-func GetRNibWriter() RNibWriter {
-       return writerPool.Get().(RNibWriter)
+func GetRNibWriter(sdl rnibcommon.ISdlInstance) RNibWriter {
+       return &rNibWriterInstance{sdl: sdl}
 }
 
 /*
 SaveNodeb saves nodeB entity data in the redis DB according to the specified data model
 */
 func (w *rNibWriterInstance) SaveNodeb(nbIdentity *rnibentities.NbIdentity, entity *rnibentities.NodebInfo) error {
-
        isNotEmptyIdentity := isNotEmpty(nbIdentity)
 
        if isNotEmptyIdentity && entity.GetNodeType() == rnibentities.Node_UNKNOWN {
                return rnibcommon.NewValidationError(fmt.Sprintf("#rNibWriter.saveNodeB - Unknown responding node type, entity: %v", entity))
        }
-       defer writerPool.Put(w)
        data, err := proto.Marshal(entity)
        if err != nil {
                return rnibcommon.NewInternalError(err)
@@ -98,30 +72,44 @@ func (w *rNibWriterInstance) SaveNodeb(nbIdentity *rnibentities.NbIdentity, enti
        }
 
        if entity.GetEnb() != nil {
-               pairs, rNibErr = appendEnbCells(nbIdentity, entity.GetEnb().GetServedCells(), pairs)
+               pairs, rNibErr = appendEnbCells(nbIdentity.InventoryName, entity.GetEnb().GetServedCells(), pairs)
                if rNibErr != nil {
                        return rNibErr
                }
        }
        if entity.GetGnb() != nil {
-               pairs, rNibErr = appendGnbCells(nbIdentity, entity.GetGnb().GetServedNrCells(), pairs)
+               pairs, rNibErr = appendGnbCells(nbIdentity.InventoryName, entity.GetGnb().GetServedNrCells(), pairs)
                if rNibErr != nil {
                        return rNibErr
                }
        }
-       err = (*w.sdl).Set(pairs)
+       err = w.sdl.Set(pairs)
        if err != nil {
                return rnibcommon.NewInternalError(err)
        }
+
+       ranNameIdentity := &rnibentities.NbIdentity{InventoryName: nbIdentity.InventoryName}
+
        if isNotEmptyIdentity {
-               nbIdData, err := proto.Marshal(nbIdentity)
+               nbIdData, err := proto.Marshal(ranNameIdentity)
                if err != nil {
                        return rnibcommon.NewInternalError(err)
                }
-               err = (*w.sdl).AddMember(entity.GetNodeType().String(), nbIdData)
+               err = w.sdl.RemoveMember(rnibentities.Node_UNKNOWN.String(), nbIdData)
                if err != nil {
                        return rnibcommon.NewInternalError(err)
                }
+       } else {
+               nbIdentity = ranNameIdentity
+       }
+
+       nbIdData, err := proto.Marshal(nbIdentity)
+       if err != nil {
+               return rnibcommon.NewInternalError(err)
+       }
+       err = w.sdl.AddMember(entity.GetNodeType().String(), nbIdData)
+       if err != nil {
+               return rnibcommon.NewInternalError(err)
        }
        return nil
 }
@@ -130,10 +118,9 @@ func (w *rNibWriterInstance) SaveNodeb(nbIdentity *rnibentities.NbIdentity, enti
 Close closes writer's pool
 */
 func CloseWriter() {
-       writerPool.Close()
 }
 
-func appendEnbCells(nbIdentity *rnibentities.NbIdentity, cells []*rnibentities.ServedCellInfo, pairs []interface{}) ([]interface{}, error) {
+func appendEnbCells(inventoryName string, cells []*rnibentities.ServedCellInfo, pairs []interface{}) ([]interface{}, error) {
        for _, cell := range cells {
                cellEntity := rnibentities.Cell{Type: rnibentities.Cell_LTE_CELL, Cell: &rnibentities.Cell_ServedCellInfo{ServedCellInfo: cell}}
                cellData, err := proto.Marshal(&cellEntity)
@@ -145,7 +132,7 @@ func appendEnbCells(nbIdentity *rnibentities.NbIdentity, cells []*rnibentities.S
                        return pairs, rNibErr
                }
                pairs = append(pairs, key, cellData)
-               key, rNibErr = rnibcommon.ValidateAndBuildCellNamePciKey(nbIdentity.InventoryName, cell.GetPci())
+               key, rNibErr = rnibcommon.ValidateAndBuildCellNamePciKey(inventoryName, cell.GetPci())
                if rNibErr != nil {
                        return pairs, rNibErr
                }
@@ -154,7 +141,7 @@ func appendEnbCells(nbIdentity *rnibentities.NbIdentity, cells []*rnibentities.S
        return pairs, nil
 }
 
-func appendGnbCells(nbIdentity *rnibentities.NbIdentity, cells []*rnibentities.ServedNRCell, pairs []interface{}) ([]interface{}, error) {
+func appendGnbCells(inventoryName string, cells []*rnibentities.ServedNRCell, pairs []interface{}) ([]interface{}, error) {
        for _, cell := range cells {
                cellEntity := rnibentities.Cell{Type: rnibentities.Cell_NR_CELL, Cell: &rnibentities.Cell_ServedNrCell{ServedNrCell: cell}}
                cellData, err := proto.Marshal(&cellEntity)
@@ -166,7 +153,7 @@ func appendGnbCells(nbIdentity *rnibentities.NbIdentity, cells []*rnibentities.S
                        return pairs, rNibErr
                }
                pairs = append(pairs, key, cellData)
-               key, rNibErr = rnibcommon.ValidateAndBuildCellNamePciKey(nbIdentity.InventoryName, cell.GetServedNrCellInformation().GetNrPci())
+               key, rNibErr = rnibcommon.ValidateAndBuildCellNamePciKey(inventoryName, cell.GetServedNrCellInformation().GetNrPci())
                if rNibErr != nil {
                        return pairs, rNibErr
                }
old mode 100644 (file)
new mode 100755 (executable)
index 495239f..afb52b5
@@ -66,6 +66,7 @@ type RNIBServedNRCellInformation = rnibentities.ServedNRCellInformation
 type RNIBNrNeighbourInformation = rnibentities.NrNeighbourInformation
 
 type RNIBClient struct {
+       db     *sdl.SdlInstance
        reader rnibreader.RNibReader
        writer rnibwriter.RNibWriter
 }
@@ -165,46 +166,46 @@ func (c *SDLClient) GetStat() (t SDLStatistics) {
 }
 
 func NewRNIBClient(ns string) *RNIBClient {
-       rnibreader.Init("e2Manager", 1)
-       rnibwriter.InitWriter("e2Manager", 1)
+       s := sdl.NewSdlInstance("e2Manager", sdl.NewDatabase())
        return &RNIBClient{
+               db:     s,
                reader: nil,
                writer: nil,
        }
 }
 
 func (r *RNIBClient) GetNodeb(invName string) (*RNIBNodebInfo, RNIBIRNibError) {
-       return rnibreader.GetRNibReader().GetNodeb(invName)
+       return rnibreader.GetRNibReader(r.db).GetNodeb(invName)
 }
 
 func (r *RNIBClient) GetNodebByGlobalNbId(t RNIBNodeType, gid *RNIBGlobalNbId) (*RNIBNodebInfo, RNIBIRNibError) {
-       return rnibreader.GetRNibReader().GetNodebByGlobalNbId(t, gid)
+       return rnibreader.GetRNibReader(r.db).GetNodebByGlobalNbId(t, gid)
 }
 
 func (r *RNIBClient) GetCellList(invName string) (*RNIBCells, RNIBIRNibError) {
-       return rnibreader.GetRNibReader().GetCellList(invName)
+       return rnibreader.GetRNibReader(r.db).GetCellList(invName)
 }
 
 func (r *RNIBClient) GetListGnbIds() ([]*RNIBNbIdentity, RNIBIRNibError) {
-       return rnibreader.GetRNibReader().GetListGnbIds()
+       return rnibreader.GetRNibReader(r.db).GetListGnbIds()
 }
 
 func (r *RNIBClient) GetListEnbIds() ([]*RNIBNbIdentity, RNIBIRNibError) {
-       return rnibreader.GetRNibReader().GetListEnbIds()
+       return rnibreader.GetRNibReader(r.db).GetListEnbIds()
 }
 
 func (r *RNIBClient) GetCountGnbList() (int, RNIBIRNibError) {
-       return rnibreader.GetRNibReader().GetCountGnbList()
+       return rnibreader.GetRNibReader(r.db).GetCountGnbList()
 }
 
 func (r *RNIBClient) GetCell(invName string, pci uint32) (*RNIBCell, RNIBIRNibError) {
-       return rnibreader.GetRNibReader().GetCell(invName, pci)
+       return rnibreader.GetRNibReader(r.db).GetCell(invName, pci)
 }
 
 func (r *RNIBClient) GetCellById(cellType RNIBCellType, cellId string) (*RNIBCell, RNIBIRNibError) {
-       return rnibreader.GetRNibReader().GetCellById(cellType, cellId)
+       return rnibreader.GetRNibReader(r.db).GetCellById(cellType, cellId)
 }
 
 func (r *RNIBClient) SaveNodeb(nbIdentity *RNIBNbIdentity, entity *RNIBNodebInfo) RNIBIRNibError {
-       return rnibwriter.GetRNibWriter().SaveNodeb(nbIdentity, entity)
+       return rnibwriter.GetRNibWriter(r.db).SaveNodeb(nbIdentity, entity)
 }