From: Anssi Mannila Date: Tue, 22 Sep 2020 09:17:05 +0000 (+0300) Subject: LN0739_FM_FR6: Use local UTC time to update alarm time X-Git-Tag: alarm/v0.5.0~33 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=2be5ac5ed9a2b8d7fc21f34bcb9c4c721112434e;p=ric-plt%2Falarm-go.git LN0739_FM_FR6: Use local UTC time to update alarm time Signed-off-by: Anssi Mannila Change-Id: I390768a131109bb6ddf9cf09b881084500a5f076 --- diff --git a/alarm/alarm.go b/alarm/alarm.go index 25c1819..d097c73 100755 --- a/alarm/alarm.go +++ b/alarm/alarm.go @@ -76,7 +76,7 @@ func (r *RICAlarm) NewAlarm(sp int, severity Severity, ainfo, iinfo string) Alar // Create a new AlarmMessage instance func (r *RICAlarm) NewAlarmMessage(a Alarm, alarmAction AlarmAction) AlarmMessage { - alarmTime := time.Now().UnixNano() / 1000 + alarmTime := time.Now().UnixNano() return AlarmMessage{a, alarmAction, alarmTime} } diff --git a/build/container-tag.yaml b/build/container-tag.yaml index b3e924f..71f44c7 100644 --- a/build/container-tag.yaml +++ b/build/container-tag.yaml @@ -2,4 +2,4 @@ # By default this file is in the docker build directory, # but the location can configured in the JJB template. --- -tag: 0.5.2 +tag: 0.5.3 diff --git a/go.mod b/go.mod index 23fac57..7d78729 100644 --- a/go.mod +++ b/go.mod @@ -16,12 +16,10 @@ require ( gerrit.o-ran-sc.org/r/ric-plt/xapp-frame v0.0.0-00010101000000-000000000000 github.com/go-openapi/runtime v0.19.11 github.com/go-openapi/strfmt v0.19.4 - github.com/jedib0t/go-pretty v4.3.0+incompatible // indirect + github.com/jedib0t/go-pretty v4.3.0+incompatible github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.1 // indirect github.com/prometheus/alertmanager v0.20.0 github.com/spf13/viper v1.6.2 github.com/stretchr/testify v1.5.1 - github.com/thatisuday/commando v1.0.4 // indirect + github.com/thatisuday/commando v1.0.4 ) diff --git a/go.sum b/go.sum index 9acf904..be0eb53 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,9 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= gerrit.o-ran-sc.org/r/com/golog.git v0.0.1 h1:9RfO/Whehaaq5KiJTT7s+YOzmi9mT1C3HktfhwwMEmw= gerrit.o-ran-sc.org/r/com/golog.git v0.0.1/go.mod h1:b8YB31U8/4iRpABioeSzGi/YMzOQ/Zq7hrJmmXKqlJk= +gerrit.o-ran-sc.org/r/ric-plt/alarm-go.git v0.4.4 h1:wsKF+QGufeunr8r1ptVeQzPnQhcF2scv1RPBssiq3Hw= +gerrit.o-ran-sc.org/r/ric-plt/alarm-go.git/alarm v0.4.2 h1:XNfkp3PwZ7pfkPszX7NaX6DzToCGjcWTLbIHYqCFNu0= +gerrit.o-ran-sc.org/r/ric-plt/alarm-go.git/alarm v0.4.2/go.mod h1:AdEWKtERGvOQy9ybLhyhrb9w9LLVn8i9xzTwoR5n4BY= gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.21 h1:eK9nUZOTMJ/EnMpH9bkWtMgOvCn3u4+PNCb9gu10s6w= gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.0.21/go.mod h1:QJ1uPPZosGbhxUWpUpeM5fLqFHdnWTrVnvW2DgyOCes= gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.0.21 h1:PQ/Mu2ol+8Oh/0BqCWWhPlVVoRCg5dQDEGm4+Opp5w4= diff --git a/manager/cmd/manager.go b/manager/cmd/manager.go index f4b7b8e..3ca2d84 100755 --- a/manager/cmd/manager.go +++ b/manager/cmd/manager.go @@ -42,7 +42,7 @@ func (a *AlarmManager) StartAlertTimer() { a.mutex.Lock() for _, m := range a.activeAlarms { app.Logger.Info("Re-raising alarm: %v", m) - a.PostAlert(a.GenerateAlertLabels(m.Alarm, AlertStatusActive)) + a.PostAlert(a.GenerateAlertLabels(m.Alarm, AlertStatusActive, m.AlarmTime)) } a.mutex.Unlock() } @@ -94,7 +94,7 @@ func (a *AlarmManager) ProcessAlarm(m *alarm.AlarmMessage) (*alert.PostAlertsOK, a.activeAlarms = a.RemoveAlarm(a.activeAlarms, idx, "active") if a.postClear { - return a.PostAlert(a.GenerateAlertLabels(m.Alarm, AlertStatusResolved)) + return a.PostAlert(a.GenerateAlertLabels(m.Alarm, AlertStatusResolved, m.AlarmTime)) } } app.Logger.Info("No matching active alarm found, suppressing ...") @@ -104,7 +104,7 @@ func (a *AlarmManager) ProcessAlarm(m *alarm.AlarmMessage) (*alert.PostAlertsOK, // New alarm -> update active alarms and post to Alert Manager if m.AlarmAction == alarm.AlarmActionRaise { a.UpdateAlarmLists(m) - return a.PostAlert(a.GenerateAlertLabels(m.Alarm, AlertStatusActive)) + return a.PostAlert(a.GenerateAlertLabels(m.Alarm, AlertStatusActive, m.AlarmTime)) } return nil, nil @@ -147,7 +147,7 @@ func (a *AlarmManager) UpdateAlarmLists(newAlarm *alarm.AlarmMessage) { a.alarmHistory = append(a.alarmHistory, *newAlarm) } -func (a *AlarmManager) GenerateAlertLabels(newAlarm alarm.Alarm, status AlertStatus) (models.LabelSet, models.LabelSet) { +func (a *AlarmManager) GenerateAlertLabels(newAlarm alarm.Alarm, status AlertStatus, alarmTime int64) (models.LabelSet, models.LabelSet) { alarmDef := alarm.RICAlarmDefinitions[newAlarm.SpecificProblem] amLabels := models.LabelSet{ "status": string(status), @@ -162,6 +162,7 @@ func (a *AlarmManager) GenerateAlertLabels(newAlarm alarm.Alarm, status AlertSta "additional_info": newAlarm.AdditionalInfo, "summary": alarmDef.EventType, "instructions": alarmDef.OperationInstructions, + "timestamp": fmt.Sprintf("%s", time.Unix(0, alarmTime).Format("02/01/2006, 15:04:05")), } return amLabels, amAnnotations diff --git a/manager/cmd/restapi.go b/manager/cmd/restapi.go index 7527a0c..6463a2c 100755 --- a/manager/cmd/restapi.go +++ b/manager/cmd/restapi.go @@ -81,7 +81,7 @@ func (a *AlarmManager) doAction(w http.ResponseWriter, r *http.Request, isRaiseA } if m.AlarmTime == 0 { - m.AlarmTime = time.Now().UnixNano() / 1000 + m.AlarmTime = time.Now().UnixNano() } _, err := a.ProcessAlarm(&m)