[RIC-621] - Fix Automation
[ric-plt/e2mgr.git] / E2Manager / managers / ran_list_manager.go
old mode 100644 (file)
new mode 100755 (executable)
index 26de59d..030180f
@@ -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
 }