From 685317842e6195915b95b2e315b97d0e266f8a1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Fri, 12 Jun 2020 11:59:07 +0100 Subject: [PATCH] fix(api): correctly set silences in the response --- cmd/karma/views.go | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/cmd/karma/views.go b/cmd/karma/views.go index a16fabc4d..2df97896e 100644 --- a/cmd/karma/views.go +++ b/cmd/karma/views.go @@ -214,13 +214,10 @@ func alerts(c *gin.Context) { dedupedAlerts := alertmanager.DedupAlerts() dedupedColors := alertmanager.DedupColors() - amNameToCluster := map[string]string{} silences := map[string]map[string]models.Silence{} for _, am := range alertmanager.GetAlertmanagers() { key := am.ClusterName() - amNameToCluster[am.Name] = key - _, found := silences[key] - if !found { + if _, found := silences[key]; !found { silences[key] = map[string]models.Silence{} } } @@ -339,18 +336,11 @@ func alerts(c *gin.Context) { for gridLabelValue, ag := range perGridAlertGroup { if len(ag.Alerts) > 0 { - for i, alert := range ag.Alerts { - if alert.IsSilenced() { - for j, am := range alert.Alertmanager { - key := amNameToCluster[am.Name] - // cluster might be wrong when collecting (races between fetches) - // update is with current cluster discovery state - ag.Alerts[i].Alertmanager[j].Cluster = key - for _, silence := range am.Silences { - _, found := silences[key][silence.ID] - if !found { - silences[key][silence.ID] = *silence - } + for _, alert := range ag.Alerts { + for _, am := range alert.Alertmanager { + for _, silence := range am.Silences { + if _, found := silences[am.Cluster][silence.ID]; !found { + silences[am.Cluster][silence.ID] = *silence } } }