X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmanagers%2Fran_list_manager.go;h=030180f50c80f91cec554ffcd11d68d89ba76ff7;hb=45758a8e8dbcf279b6ae6731c94d290de580d586;hp=26de59d0b577731cad2e0cbc6f0c57783ab561be;hpb=a269db89a144d3f041eb265c9aa2e7633142429f;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/managers/ran_list_manager.go b/E2Manager/managers/ran_list_manager.go old mode 100644 new mode 100755 index 26de59d..030180f --- a/E2Manager/managers/ran_list_manager.go +++ b/E2Manager/managers/ran_list_manager.go @@ -97,15 +97,36 @@ func (m *ranListManagerInstance) UpdateNbIdentityConnectionStatus(nodeType entit } func (m *ranListManagerInstance) RemoveNbIdentity(nodeType entities.Node_Type, ranName string) error { - //TODO: implement + m.mux.Lock() + defer m.mux.Unlock() + + m.logger.Infof("#ranListManagerInstance.RemoveNbIdentity - RAN name: %s - deleting nodeb identity from memory and db...", ranName) + + nbIdentity, ok := m.nbIdentityMap[ranName] + if !ok { + m.logger.Infof("#ranListManagerInstance.RemoveNbIdentity - RAN name: %s - nodeb identity not found", ranName) + return nil + } + + delete(m.nbIdentityMap, ranName) + + err := m.rnibDataService.RemoveNbIdentity(nodeType, nbIdentity) + if err != nil { + m.logger.Errorf("#ranListManagerInstance.RemoveNbIdentity - RAN name: %s - Failed removing nodeb identity from DB. error: %s", ranName, err) + return err + } + + m.logger.Infof("#ranListManagerInstance.RemoveNbIdentity - RAN name: %s - Successfully deleted nodeb identity", ranName) return nil } func (m *ranListManagerInstance) GetNbIdentityList() []*entities.NbIdentity { - nbIds := make([]*entities.NbIdentity, len(m.nbIdentityMap)) + nbIds := make([]*entities.NbIdentity, 0, len(m.nbIdentityMap)) for _, v := range m.nbIdentityMap { nbIds = append(nbIds, v) } + m.logger.Infof("#ranListManagerInstance.GetNbIdentityList - %d identity returned", len(nbIds)) + return nbIds }