import (
"e2mgr/logger"
"e2mgr/services"
+ "time"
+
"gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
)
const (
CONNECTED_RAW_EVENT = "CONNECTED"
DISCONNECTED_RAW_EVENT = "DISCONNECTED"
+ UNDER_RESET_RAW_EVENT = "UNDER_RESET"
NONE_RAW_EVENT = "NONE"
)
isConnectivityEvent := event != NONE_RAW_EVENT
// only after determining event we set next status
- nodebInfo.ConnectionStatus = nextStatus;
+ nodebInfo.ConnectionStatus = nextStatus
+ // filling the timeStamp for the last Connection Status update
+ nodebInfo.StatusUpdateTimeStamp = uint64(time.Now().UnixNano())
if !isConnectivityEvent {
err := m.updateNodebInfo(nodebInfo)
if err != nil {
}
// in any case, update RanListManager
- m.logger.Infof("#RanConnectStatusChangeManager.ChangeStatus - RAN name: %s, updating RanListManager... status: %s", nodebInfo.RanName, nodebInfo.GetConnectionStatus())
- err := m.ranListManager.UpdateRanState(nodebInfo)
+ connectionStatus := nodebInfo.GetConnectionStatus()
+ m.logger.Infof("#RanConnectStatusChangeManager.ChangeStatus - RAN name: %s, updating RanListManager... status: %s", nodebInfo.RanName, connectionStatus)
+ err := m.ranListManager.UpdateNbIdentityConnectionStatus(nodebInfo.GetNodeType(), nodebInfo.RanName, connectionStatus)
if err != nil {
m.logger.Errorf("#RanConnectStatusChangeManager.ChangeStatus - RAN name: %s - Failed updating RAN's connection status by RanListManager. Error: %v", nodebInfo.RanName, err)
// log and proceed...
event = nodebInfo.RanName + "_" + CONNECTED_RAW_EVENT
} else if currentConnectionStatus == entities.ConnectionStatus_CONNECTED && nextState != entities.ConnectionStatus_CONNECTED {
event = nodebInfo.RanName + "_" + DISCONNECTED_RAW_EVENT
+ } else if nextState == entities.ConnectionStatus_UNDER_RESET {
+ event = nodebInfo.RanName + "_" + UNDER_RESET_RAW_EVENT
} else {
event = NONE_RAW_EVENT
}