LN0739_FM_FR6: Use local UTC time to update alarm time 54/4754/6
authorAnssi Mannila <anssi.mannila@nokia.com>
Tue, 22 Sep 2020 09:17:05 +0000 (12:17 +0300)
committerAnssi Mannila <anssi.mannila@nokia.com>
Thu, 24 Sep 2020 06:48:25 +0000 (09:48 +0300)
Signed-off-by: Anssi Mannila <anssi.mannila@nokia.com>
Change-Id: I390768a131109bb6ddf9cf09b881084500a5f076

alarm/alarm.go
build/container-tag.yaml
go.mod
go.sum
manager/cmd/manager.go
manager/cmd/restapi.go

index 25c1819..d097c73 100755 (executable)
@@ -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}
 }
 
index b3e924f..71f44c7 100644 (file)
@@ -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 (file)
--- 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 (file)
--- 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=
index f4b7b8e..3ca2d84 100755 (executable)
@@ -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
index 7527a0c..6463a2c 100755 (executable)
@@ -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)