mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: Fix notification channel migration and handle case when Alertmanager default configuration is absent (#35086)
* Fix dashboard alert and nootifier migration for MySQL * Fix POSTing Alertmanager configuration if no current configuration exists in case the default configuration has not be stored yet or has failed to get stored * Change CreatedAt field type
This commit is contained in:
committed by
GitHub
parent
c13f247a94
commit
15c55b0115
@@ -192,11 +192,14 @@ func (srv AlertmanagerSrv) RoutePostAlertingConfig(c *models.ReqContext, body ap
|
||||
}
|
||||
}
|
||||
|
||||
currentConfig, err := notifier.Load([]byte(query.Result.AlertmanagerConfiguration))
|
||||
if err != nil {
|
||||
return ErrResp(http.StatusInternalServerError, err, "failed to load lastest configuration")
|
||||
currentReceiverMap := make(map[string]*apimodels.PostableGrafanaReceiver)
|
||||
if query.Result != nil {
|
||||
currentConfig, err := notifier.Load([]byte(query.Result.AlertmanagerConfiguration))
|
||||
if err != nil {
|
||||
return ErrResp(http.StatusInternalServerError, err, "failed to load lastest configuration")
|
||||
}
|
||||
currentReceiverMap = currentConfig.GetGrafanaReceiverMap()
|
||||
}
|
||||
currentReceiverMap := currentConfig.GetGrafanaReceiverMap()
|
||||
|
||||
// Copy the previously known secure settings
|
||||
for i, r := range body.AlertmanagerConfig.Receivers {
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
const AlertConfigurationVersion = 1
|
||||
|
||||
// AlertConfiguration represents a single version of the Alerting Engine Configuration.
|
||||
@@ -10,7 +8,7 @@ type AlertConfiguration struct {
|
||||
|
||||
AlertmanagerConfiguration string
|
||||
ConfigurationVersion string
|
||||
CreatedAt time.Time `xorm:"created"`
|
||||
CreatedAt int64 `xorm:"created"`
|
||||
Default bool
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user