X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmanagers%2Fran_list_manager.go;h=a0c9b07bde941bea0861e8e95a9d622f28ac2ac4;hb=refs%2Fchanges%2F19%2F4519%2F1;hp=030180f50c80f91cec554ffcd11d68d89ba76ff7;hpb=fafc90d9bf1c8edc7b8815280f2fd0a11677e00b;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/managers/ran_list_manager.go b/E2Manager/managers/ran_list_manager.go index 030180f..a0c9b07 100755 --- a/E2Manager/managers/ran_list_manager.go +++ b/E2Manager/managers/ran_list_manager.go @@ -20,6 +20,7 @@ package managers import ( + "e2mgr/e2managererrors" "e2mgr/logger" "e2mgr/services" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" @@ -39,7 +40,6 @@ type RanListManager interface { UpdateNbIdentityConnectionStatus(nodeType entities.Node_Type, ranName string, connectionStatus entities.ConnectionStatus) error RemoveNbIdentity(nodeType entities.Node_Type, ranName string) error GetNbIdentityList() []*entities.NbIdentity - UpdateRanState(nodebInfo *entities.NodebInfo) error // TODO: replace with UpdateNbIdentityConnectionStatus } func NewRanListManager(logger *logger.Logger, rnibDataService services.RNibDataService) RanListManager { @@ -50,12 +50,6 @@ func NewRanListManager(logger *logger.Logger, rnibDataService services.RNibDataS } } -// TODO: replace with UpdateNbIdentityConnectionStatus -func (m *ranListManagerInstance) UpdateRanState(nodebInfo *entities.NodebInfo) error { - m.logger.Infof("#ranListManagerInstance.UpdateRanState - RAN name: %s - Updating state...", nodebInfo.RanName) - return nil -} - func (m *ranListManagerInstance) InitNbIdentityMap() error { nbIds, err := m.rnibDataService.GetListNodebIds() @@ -92,7 +86,30 @@ func (m *ranListManagerInstance) AddNbIdentity(nodeType entities.Node_Type, nbId } func (m *ranListManagerInstance) UpdateNbIdentityConnectionStatus(nodeType entities.Node_Type, ranName string, connectionStatus entities.ConnectionStatus) error { - //TODO: implement + m.mux.Lock() + defer m.mux.Unlock() + + m.logger.Infof("#ranListManagerInstance.UpdateNbIdentityConnectionStatus - RAN name: %s - updating nodeb identity connection status", ranName) + + oldNbIdentity, ok := m.nbIdentityMap[ranName] + if !ok { + m.logger.Errorf("#ranListManagerInstance.UpdateNbIdentityConnectionStatus - RAN name: %s - nodeb identity not found in nbIdentityMap", ranName) + return e2managererrors.NewInternalError() + } + + newNbIdentity := &entities.NbIdentity{ + GlobalNbId: oldNbIdentity.GlobalNbId, + InventoryName: ranName, + ConnectionStatus: connectionStatus, + } + m.nbIdentityMap[ranName] = newNbIdentity + + err := m.rnibDataService.UpdateNbIdentity(nodeType, oldNbIdentity, newNbIdentity) + if err != nil { + m.logger.Errorf("#ranListManagerInstance.UpdateNbIdentityConnectionStatus - RAN name: %s - Failed updating nodeb identity in DB. error: %s", ranName, err) + return err + } + m.logger.Infof("#ranListManagerInstance.UpdateNbIdentityConnectionStatus - RAN name: %s - Successfully updated nodeb identity", ranName) return nil }