mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: Add ability to control scheduler tick interval via config (#71980)
* add ability to control scheduler interval via config * add feature flag `configurableSchedulerTick`
This commit is contained in:
@@ -39,6 +39,39 @@ func TestCfg_ReadUnifiedAlertingSettings(t *testing.T) {
|
||||
require.Len(t, cfg.UnifiedAlerting.HAPeers, 3)
|
||||
require.ElementsMatch(t, []string{"hostname1:9090", "hostname2:9090", "hostname3:9090"}, cfg.UnifiedAlerting.HAPeers)
|
||||
}
|
||||
|
||||
t.Run("should read 'scheduler_tick_interval'", func(t *testing.T) {
|
||||
tmp := cfg.IsFeatureToggleEnabled
|
||||
t.Cleanup(func() {
|
||||
cfg.IsFeatureToggleEnabled = tmp
|
||||
})
|
||||
cfg.IsFeatureToggleEnabled = func(key string) bool { return key == "configurableSchedulerTick" }
|
||||
|
||||
s, err := cfg.Raw.NewSection("unified_alerting")
|
||||
require.NoError(t, err)
|
||||
_, err = s.NewKey("scheduler_tick_interval", "1m")
|
||||
require.NoError(t, err)
|
||||
_, err = s.NewKey("min_interval", "3m")
|
||||
require.NoError(t, err)
|
||||
|
||||
require.NoError(t, cfg.ReadUnifiedAlertingSettings(cfg.Raw))
|
||||
require.Equal(t, time.Minute, cfg.UnifiedAlerting.BaseInterval)
|
||||
require.Equal(t, 3*time.Minute, cfg.UnifiedAlerting.MinInterval)
|
||||
|
||||
t.Run("and fail if it is wrong", func(t *testing.T) {
|
||||
_, err = s.NewKey("scheduler_tick_interval", "test")
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Error(t, cfg.ReadUnifiedAlertingSettings(cfg.Raw))
|
||||
})
|
||||
|
||||
t.Run("and use default if not specified", func(t *testing.T) {
|
||||
s.DeleteKey("scheduler_tick_interval")
|
||||
require.NoError(t, cfg.ReadUnifiedAlertingSettings(cfg.Raw))
|
||||
|
||||
require.Equal(t, SchedulerBaseInterval, cfg.UnifiedAlerting.BaseInterval)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func TestUnifiedAlertingSettings(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user