From bcec4e13ae235c6734aec530bb7129a85fb64833 Mon Sep 17 00:00:00 2001 From: simonzhangsz Date: Tue, 24 Oct 2023 18:03:54 +0800 Subject: [PATCH] fix: dead cycle do with sync alarm --- features/fm/alarm.go | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/features/fm/alarm.go b/features/fm/alarm.go index 6a317fa9..36db2567 100644 --- a/features/fm/alarm.go +++ b/features/fm/alarm.go @@ -455,13 +455,23 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { log.Error("Request error:", err) return } + vars := mux.Vars(r) + neType := vars["elementTypeValue"] + neTypeLower := strings.ToLower(neType) + + // Get alarms from OMC return 204 + if neTypeLower == strings.ToLower(config.GetYamlConfig().OMC.NeType) { + log.Infof("Return no content alarms from %s", neType) + services.ResponseStatusOK204NoContent(w) + return + } //var neInfo *dborm.NeInfo var nes []dborm.NeInfo _, err = dborm.XormGetAllNeInfo(&nes) if err != nil { log.Error("Failed to get all ne info:", err) - services.ResponseInternalServerError500DatabaseOperationFailed(w) + services.ResponseInternalServerError500ProcessError(w, err) return } @@ -514,7 +524,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { exist, err := session.Table("alarm"). Where("ne_type=? and ne_id=? and alarm_id=? and alarm_status=1", alarmData.NeType, alarmData.NeId, alarmData.AlarmId). Exist() - if err == nil || exist == false { + if err == nil || !exist { log.Info("Not found active alarm: ne_id=%s, alarm_id=%s", alarmData.NeId, alarmData.AlarmId) continue } @@ -523,7 +533,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { tm, _ := time.Parse(time.RFC3339, alarmData.EventTime) log.Debugf("EventTime:%s tm:%d tm-datetime:%s", alarmData.EventTime, tm, tm.Local().Format(time.DateTime)) alarmData.ClearTime.Time = tm - if IsNeedToAckAlarm(valueJson, &alarmData) == true { + if IsNeedToAckAlarm(valueJson, &alarmData) { SetAlarmAckInfo(valueJson, &alarmData) log.Debug("alarmData:", alarmData) affected, err := session. @@ -578,7 +588,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { } log.Debugf("neType=%s, neId=%s, eventTime=%s, severity=%s", alarmData.NeType, alarmData.NeId, alarmData.EventTime, severity) - if has == true && severity > alarmData.OrigSeverity { + if has && severity > alarmData.OrigSeverity { // update exist record _, err := session.Table("alarm"). Where("ne_type=? and ne_id=? and event_time=?", alarmData.NeType, alarmData.NeId, alarmData.EventTime). @@ -597,7 +607,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { Where("alarm_id=? and ne_type=? and ne_id=? and alarm_status=1", alarmData.AlarmId, alarmData.NeType, alarmData.NeId). Exist() - if err == nil && has == true { + if err == nil && has { log.Warn("Exist the same alarm") continue } @@ -617,7 +627,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { log.Debugf("neType=%s, neId=%s, currentSeq=%s, activeAlarmNum=%d", alarmData.NeType, alarmData.NeId, currentSeq, activeAlarmNum) - if has == true { + if has { seq, _ := strconv.Atoi(currentSeq) alarmData.AlarmSeq = seq + 1 if alarmData.AlarmSeq > global.MaxInt32Number { @@ -642,7 +652,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { } log.Debugf("neType=%s, neId=%s, eventTime=%s, severity=%s", alarmData.NeType, alarmData.NeId, alarmData.EventTime, severity) - if has == false || severity == alarmData.OrigSeverity { + if !has || severity == alarmData.OrigSeverity { alarmData.PerceivedSeverity = alarmData.OrigSeverity } else if severity > alarmData.OrigSeverity { alarmData.PerceivedSeverity = alarmData.OrigSeverity @@ -661,7 +671,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { alarmData.ObjectUid = alarmData.NeId alarmData.ObjectType = "VNFM" alarmData.EventTime = global.GetFmtTimeString(time.RFC3339, alarmData.EventTime, time.DateTime) - if IsNeedToAckAlarm(valueJson, &alarmData) == true { + if IsNeedToAckAlarm(valueJson, &alarmData) { SetAlarmAckInfo(valueJson, &alarmData) } log.Trace("alarmData:", alarmData)