[RIC-298] Add Update GNB impl.
[ric-plt/e2mgr.git] / E2Manager / services / rnib_data_service.go
index 1274c53..af329af 100644 (file)
@@ -47,6 +47,8 @@ type RNibDataService interface {
        GetE2TInstancesNoLogs(addresses []string) ([]*entities.E2TInstance, error)
        SaveE2TInstanceNoLogs(e2tInstance *entities.E2TInstance) error
        GetE2TAddressesNoLogs() ([]string, error)
+       RemoveE2TInstance(e2tAddress string) error
+       UpdateGnbCells(nodebInfo *entities.NodebInfo, servedNrCells []*entities.ServedNRCell) error
 }
 
 type rNibDataService struct {
@@ -67,6 +69,17 @@ func NewRnibDataService(logger *logger.Logger, config *configuration.Configurati
        }
 }
 
+func (w *rNibDataService) UpdateGnbCells(nodebInfo *entities.NodebInfo, servedNrCells []*entities.ServedNRCell) error {
+       w.logger.Infof("#RnibDataService.UpdateGnbCells - nodebInfo: %s, servedNrCells: %s", nodebInfo, servedNrCells)
+
+       err := w.retry("UpdateGnbCells", func() (err error) {
+               err = w.rnibWriter.UpdateGnbCells(nodebInfo, servedNrCells)
+               return
+       })
+
+       return err
+}
+
 func (w *rNibDataService) UpdateNodebInfo(nodebInfo *entities.NodebInfo) error {
        w.logger.Infof("#RnibDataService.UpdateNodebInfo - nodebInfo: %s", nodebInfo)
 
@@ -101,7 +114,6 @@ func (w *rNibDataService) SaveRanLoadInformation(inventoryName string, ranLoadIn
 }
 
 func (w *rNibDataService) GetNodeb(ranName string) (*entities.NodebInfo, error) {
-       w.logger.Infof("#RnibDataService.GetNodeb - RAN name: %s", ranName)
 
        var nodeb *entities.NodebInfo = nil
 
@@ -110,12 +122,14 @@ func (w *rNibDataService) GetNodeb(ranName string) (*entities.NodebInfo, error)
                return
        })
 
+       if err == nil {
+               w.logger.Infof("#RnibDataService.GetNodeb - RAN name: %s, connection status: %s, associated E2T: %s", nodeb.RanName, nodeb.ConnectionStatus, nodeb.AssociatedE2TInstanceAddress)
+       }
+
        return nodeb, err
 }
 
 func (w *rNibDataService) GetListNodebIds() ([]*entities.NbIdentity, error) {
-       w.logger.Infof("#RnibDataService.GetListNodebIds")
-
        var nodeIds []*entities.NbIdentity = nil
 
        err := w.retry("GetListNodebIds", func() (err error) {
@@ -123,6 +137,10 @@ func (w *rNibDataService) GetListNodebIds() ([]*entities.NbIdentity, error) {
                return
        })
 
+       if err == nil {
+               w.logger.Infof("#RnibDataService.GetListNodebIds - RANs count: %d", len(nodeIds))
+       }
+
        return nodeIds, err
 }
 
@@ -205,7 +223,7 @@ func (w *rNibDataService) GetE2TAddressesNoLogs() ([]string, error) {
 }
 
 func (w *rNibDataService) SaveE2TInstance(e2tInstance *entities.E2TInstance) error {
-       w.logger.Infof("#RnibDataService.SaveE2TInstance - E2T instance address: %s, state: %s, associated RANs count: %d, keep Alive ts: %d", e2tInstance.Address, e2tInstance.State, len(e2tInstance.AssociatedRanList), e2tInstance.KeepAliveTimestamp)
+       w.logger.Infof("#RnibDataService.SaveE2TInstance - E2T instance address: %s, podName: %s, state: %s, associated RANs count: %d, keep Alive ts: %d", e2tInstance.Address, e2tInstance.PodName, e2tInstance.State, len(e2tInstance.AssociatedRanList), e2tInstance.KeepAliveTimestamp)
 
        return w.SaveE2TInstanceNoLogs(e2tInstance)
 }
@@ -231,6 +249,17 @@ func (w *rNibDataService) SaveE2TAddresses(addresses []string) error {
        return err
 }
 
+func (w *rNibDataService) RemoveE2TInstance(e2tAddress string) error {
+       w.logger.Infof("#RnibDataService.RemoveE2TInstance - e2tAddress: %s", e2tAddress)
+
+       err := w.retry("RemoveE2TInstance", func() (err error) {
+               err = w.rnibWriter.RemoveE2TInstance(e2tAddress)
+               return
+       })
+
+       return err
+}
+
 func (w *rNibDataService) PingRnib() bool {
        err := w.retry("GetListNodebIds", func() (err error) {
                _, err = w.rnibReader.GetListNodebIds()