Alerting: Fix NewDatasourceWriter initialization (#106869)

Fix NewDatasourceWriter initialization
This commit is contained in:
Alexander Akhmetov
2025-06-18 07:53:48 +02:00
committed by GitHub
parent ad683f83ff
commit 78bec77ca1
2 changed files with 13 additions and 11 deletions
+5 -3
View File
@@ -374,6 +374,7 @@ func (ng *AlertNG) init() error {
ac.NewRuleService(ng.accesscontrol),
ng.DataSourceService,
ng.httpClientProvider,
ng.pluginContextProvider,
clk,
ng.Metrics.GetRemoteWriterMetrics(),
)
@@ -632,6 +633,7 @@ func configureHistorianBackend(
ac historian.AccessControl,
datasourceService datasources.DataSourceService,
httpClientProvider httpclient.Provider,
pluginContextProvider *plugincontext.Provider,
clock clock.Clock,
mw *metrics.RemoteWriter,
) (Historian, error) {
@@ -649,7 +651,7 @@ func configureHistorianBackend(
if backend == historian.BackendTypeMultiple {
primaryCfg := cfg
primaryCfg.Backend = cfg.MultiPrimary
primary, err := configureHistorianBackend(ctx, primaryCfg, ar, ds, rs, met, l, tracer, ac, datasourceService, httpClientProvider, clock, mw)
primary, err := configureHistorianBackend(ctx, primaryCfg, ar, ds, rs, met, l, tracer, ac, datasourceService, httpClientProvider, pluginContextProvider, clock, mw)
if err != nil {
return nil, fmt.Errorf("multi-backend target \"%s\" was misconfigured: %w", cfg.MultiPrimary, err)
}
@@ -658,7 +660,7 @@ func configureHistorianBackend(
for _, b := range cfg.MultiSecondaries {
secCfg := cfg
secCfg.Backend = b
sec, err := configureHistorianBackend(ctx, secCfg, ar, ds, rs, met, l, tracer, ac, datasourceService, httpClientProvider, clock, mw)
sec, err := configureHistorianBackend(ctx, secCfg, ar, ds, rs, met, l, tracer, ac, datasourceService, httpClientProvider, pluginContextProvider, clock, mw)
if err != nil {
return nil, fmt.Errorf("multi-backend target \"%s\" was miconfigured: %w", b, err)
}
@@ -702,7 +704,7 @@ func configureHistorianBackend(
}
logCtx := log.WithContextualAttributes(ctx, []any{"backend", "prometheus"})
prometheusBackendLogger := log.New("ngalert.state.historian").FromContext(logCtx)
w := writer.NewDatasourceWriter(writerCfg, datasourceService, httpClientProvider, clock, prometheusBackendLogger, mw)
w := writer.NewDatasourceWriter(writerCfg, datasourceService, httpClientProvider, pluginContextProvider, clock, prometheusBackendLogger, mw)
if w == nil {
return nil, fmt.Errorf("failed to create alert state metrics writer")
}
+8 -8
View File
@@ -90,7 +90,7 @@ func TestConfigureHistorianBackend(t *testing.T) {
}
ac := &acfakes.FakeRuleService{}
_, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil)
_, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil, nil)
require.ErrorContains(t, err, "unrecognized")
})
@@ -106,7 +106,7 @@ func TestConfigureHistorianBackend(t *testing.T) {
}
ac := &acfakes.FakeRuleService{}
_, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil)
_, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil, nil)
require.ErrorContains(t, err, "multi-backend target")
require.ErrorContains(t, err, "unrecognized")
@@ -124,7 +124,7 @@ func TestConfigureHistorianBackend(t *testing.T) {
}
ac := &acfakes.FakeRuleService{}
_, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil)
_, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil, nil)
require.ErrorContains(t, err, "multi-backend target")
require.ErrorContains(t, err, "unrecognized")
@@ -143,7 +143,7 @@ func TestConfigureHistorianBackend(t *testing.T) {
}
ac := &acfakes.FakeRuleService{}
h, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil)
h, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil, nil)
require.NotNil(t, h)
require.NoError(t, err)
@@ -160,7 +160,7 @@ func TestConfigureHistorianBackend(t *testing.T) {
}
ac := &acfakes.FakeRuleService{}
_, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil)
_, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil, nil)
require.Error(t, err)
require.ErrorContains(t, err, "datasource UID must not be empty")
@@ -178,7 +178,7 @@ func TestConfigureHistorianBackend(t *testing.T) {
}
ac := &acfakes.FakeRuleService{}
h, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil)
h, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil, nil)
require.NotNil(t, h)
require.NoError(t, err)
@@ -195,7 +195,7 @@ func TestConfigureHistorianBackend(t *testing.T) {
}
ac := &acfakes.FakeRuleService{}
h, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil)
h, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil, nil)
require.NotNil(t, h)
require.NoError(t, err)
@@ -218,7 +218,7 @@ grafana_alerting_state_history_info{backend="annotations"} 1
}
ac := &acfakes.FakeRuleService{}
h, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil)
h, err := configureHistorianBackend(context.Background(), cfg, nil, nil, nil, met, logger, tracer, ac, nil, nil, nil, nil, nil)
require.NotNil(t, h)
require.NoError(t, err)