Remove backgroundPluginInstaller feature flag (#93540)

This commit is contained in:
Andres Martinez Gotor 2024-09-23 15:49:18 +02:00 committed by GitHub
parent 07f11e9222
commit a45167a595
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 5 additions and 32 deletions

View File

@ -1732,7 +1732,7 @@ install_token =
hide_angular_deprecation = hide_angular_deprecation =
# Comma separated list of plugin ids for which environment variables should be forwarded. Used only when feature flag pluginsSkipHostEnvVars is enabled. # Comma separated list of plugin ids for which environment variables should be forwarded. Used only when feature flag pluginsSkipHostEnvVars is enabled.
forward_host_env_vars = forward_host_env_vars =
# Comma separated list of plugin ids to install as part of the startup process. Used only when feature flag backgroundPluginInstaller is enabled. # Comma separated list of plugin ids to install as part of the startup process.
preinstall = preinstall =
# Controls whether preinstall plugins asynchronously (in the background) or synchronously (blocking). Useful when preinstalled plugins are used with provisioning. # Controls whether preinstall plugins asynchronously (in the background) or synchronously (blocking). Useful when preinstalled plugins are used with provisioning.
preinstall_async = true preinstall_async = true

View File

@ -194,7 +194,6 @@ Experimental features might be changed or removed without prior notice.
| `databaseReadReplica` | Use a read replica for some database queries. | | `databaseReadReplica` | Use a read replica for some database queries. |
| `alertingApiServer` | Register Alerting APIs with the K8s API server | | `alertingApiServer` | Register Alerting APIs with the K8s API server |
| `dashboardRestoreUI` | Enables the frontend to be able to restore a recently deleted dashboard | | `dashboardRestoreUI` | Enables the frontend to be able to restore a recently deleted dashboard |
| `backgroundPluginInstaller` | Enable background plugin installer |
| `dataplaneAggregator` | Enable grafana dataplane aggregator | | `dataplaneAggregator` | Enable grafana dataplane aggregator |
| `newFiltersUI` | Enables new combobox style UI for the Ad hoc filters variable in scenes architecture | | `newFiltersUI` | Enables new combobox style UI for the Ad hoc filters variable in scenes architecture |
| `lokiSendDashboardPanelNames` | Send dashboard and panel names to Loki when querying | | `lokiSendDashboardPanelNames` | Send dashboard and panel names to Loki when querying |

View File

@ -203,7 +203,6 @@ export interface FeatureToggles {
cloudwatchMetricInsightsCrossAccount?: boolean; cloudwatchMetricInsightsCrossAccount?: boolean;
prometheusAzureOverrideAudience?: boolean; prometheusAzureOverrideAudience?: boolean;
alertingFilterV2?: boolean; alertingFilterV2?: boolean;
backgroundPluginInstaller?: boolean;
dataplaneAggregator?: boolean; dataplaneAggregator?: boolean;
newFiltersUI?: boolean; newFiltersUI?: boolean;
lokiSendDashboardPanelNames?: boolean; lokiSendDashboardPanelNames?: boolean;

View File

@ -1402,13 +1402,6 @@ var (
Owner: grafanaAlertingSquad, Owner: grafanaAlertingSquad,
HideFromDocs: true, HideFromDocs: true,
}, },
{
Name: "backgroundPluginInstaller",
Description: "Enable background plugin installer",
Stage: FeatureStageExperimental,
Owner: grafanaPluginsPlatformSquad,
RequiresRestart: true,
},
{ {
Name: "dataplaneAggregator", Name: "dataplaneAggregator",
Description: "Enable grafana dataplane aggregator", Description: "Enable grafana dataplane aggregator",

View File

@ -184,7 +184,6 @@ bodyScrolling,preview,@grafana/grafana-frontend-platform,false,false,true
cloudwatchMetricInsightsCrossAccount,preview,@grafana/aws-datasources,false,false,true cloudwatchMetricInsightsCrossAccount,preview,@grafana/aws-datasources,false,false,true
prometheusAzureOverrideAudience,deprecated,@grafana/partner-datasources,false,false,false prometheusAzureOverrideAudience,deprecated,@grafana/partner-datasources,false,false,false
alertingFilterV2,experimental,@grafana/alerting-squad,false,false,false alertingFilterV2,experimental,@grafana/alerting-squad,false,false,false
backgroundPluginInstaller,experimental,@grafana/plugins-platform-backend,false,true,false
dataplaneAggregator,experimental,@grafana/grafana-app-platform-squad,false,true,false dataplaneAggregator,experimental,@grafana/grafana-app-platform-squad,false,true,false
newFiltersUI,experimental,@grafana/dashboards-squad,false,false,false newFiltersUI,experimental,@grafana/dashboards-squad,false,false,false
lokiSendDashboardPanelNames,experimental,@grafana/observability-logs,false,false,false lokiSendDashboardPanelNames,experimental,@grafana/observability-logs,false,false,false

1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
184 cloudwatchMetricInsightsCrossAccount preview @grafana/aws-datasources false false true
185 prometheusAzureOverrideAudience deprecated @grafana/partner-datasources false false false
186 alertingFilterV2 experimental @grafana/alerting-squad false false false
backgroundPluginInstaller experimental @grafana/plugins-platform-backend false true false
187 dataplaneAggregator experimental @grafana/grafana-app-platform-squad false true false
188 newFiltersUI experimental @grafana/dashboards-squad false false false
189 lokiSendDashboardPanelNames experimental @grafana/observability-logs false false false

View File

@ -747,10 +747,6 @@ const (
// Enable the new alerting search experience // Enable the new alerting search experience
FlagAlertingFilterV2 = "alertingFilterV2" FlagAlertingFilterV2 = "alertingFilterV2"
// FlagBackgroundPluginInstaller
// Enable background plugin installer
FlagBackgroundPluginInstaller = "backgroundPluginInstaller"
// FlagDataplaneAggregator // FlagDataplaneAggregator
// Enable grafana dataplane aggregator // Enable grafana dataplane aggregator
FlagDataplaneAggregator = "dataplaneAggregator" FlagDataplaneAggregator = "dataplaneAggregator"

View File

@ -580,7 +580,8 @@
"metadata": { "metadata": {
"name": "backgroundPluginInstaller", "name": "backgroundPluginInstaller",
"resourceVersion": "1723202510081", "resourceVersion": "1723202510081",
"creationTimestamp": "2024-08-09T11:21:50Z" "creationTimestamp": "2024-08-09T11:21:50Z",
"deletionTimestamp": "2024-09-20T13:20:41Z"
}, },
"spec": { "spec": {
"description": "Enable background plugin installer", "description": "Enable background plugin installer",

View File

@ -11,7 +11,6 @@ import (
"github.com/grafana/grafana/pkg/infra/log" "github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/plugins/repo" "github.com/grafana/grafana/pkg/plugins/repo"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/services/pluginsintegration/pluginstore" "github.com/grafana/grafana/pkg/services/pluginsintegration/pluginstore"
"github.com/grafana/grafana/pkg/setting" "github.com/grafana/grafana/pkg/setting"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
@ -36,21 +35,19 @@ var (
type Service struct { type Service struct {
cfg *setting.Cfg cfg *setting.Cfg
features featuremgmt.FeatureToggles
log log.Logger log log.Logger
pluginInstaller plugins.Installer pluginInstaller plugins.Installer
pluginStore pluginstore.Store pluginStore pluginstore.Store
failOnErr bool failOnErr bool
} }
func ProvideService(cfg *setting.Cfg, features featuremgmt.FeatureToggles, pluginStore pluginstore.Store, pluginInstaller plugins.Installer, promReg prometheus.Registerer) (*Service, error) { func ProvideService(cfg *setting.Cfg, pluginStore pluginstore.Store, pluginInstaller plugins.Installer, promReg prometheus.Registerer) (*Service, error) {
once.Do(func() { once.Do(func() {
promReg.MustRegister(installRequestCounter) promReg.MustRegister(installRequestCounter)
promReg.MustRegister(installRequestDuration) promReg.MustRegister(installRequestDuration)
}) })
s := &Service{ s := &Service{
features: features,
log: log.New("plugin.backgroundinstaller"), log: log.New("plugin.backgroundinstaller"),
cfg: cfg, cfg: cfg,
pluginInstaller: pluginInstaller, pluginInstaller: pluginInstaller,
@ -69,8 +66,7 @@ func ProvideService(cfg *setting.Cfg, features featuremgmt.FeatureToggles, plugi
// IsDisabled disables background installation of plugins. // IsDisabled disables background installation of plugins.
func (s *Service) IsDisabled() bool { func (s *Service) IsDisabled() bool {
return !s.features.IsEnabled(context.Background(), featuremgmt.FlagBackgroundPluginInstaller) || return len(s.cfg.PreinstallPlugins) == 0 ||
len(s.cfg.PreinstallPlugins) == 0 ||
!s.cfg.PreinstallPluginsAsync !s.cfg.PreinstallPluginsAsync
} }

View File

@ -7,7 +7,6 @@ import (
"github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/plugins/manager/fakes" "github.com/grafana/grafana/pkg/plugins/manager/fakes"
"github.com/grafana/grafana/pkg/plugins/manager/registry" "github.com/grafana/grafana/pkg/plugins/manager/registry"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/services/pluginsintegration/pluginstore" "github.com/grafana/grafana/pkg/services/pluginsintegration/pluginstore"
"github.com/grafana/grafana/pkg/setting" "github.com/grafana/grafana/pkg/setting"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
@ -22,7 +21,6 @@ func TestService_IsDisabled(t *testing.T) {
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}}, PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
PreinstallPluginsAsync: true, PreinstallPluginsAsync: true,
}, },
featuremgmt.WithFeatures(featuremgmt.FlagBackgroundPluginInstaller),
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}), pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
&fakes.FakePluginInstaller{}, &fakes.FakePluginInstaller{},
prometheus.NewRegistry(), prometheus.NewRegistry(),
@ -42,7 +40,6 @@ func TestService_Run(t *testing.T) {
&setting.Cfg{ &setting.Cfg{
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}}, PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
}, },
featuremgmt.WithFeatures(),
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}), pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
&fakes.FakePluginInstaller{ &fakes.FakePluginInstaller{
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error { AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
@ -66,7 +63,6 @@ func TestService_Run(t *testing.T) {
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin", Version: "1.0.0"}}, PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin", Version: "1.0.0"}},
PreinstallPluginsAsync: true, PreinstallPluginsAsync: true,
}, },
featuremgmt.WithFeatures(),
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}), pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
&fakes.FakePluginInstaller{ &fakes.FakePluginInstaller{
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error { AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
@ -98,7 +94,6 @@ func TestService_Run(t *testing.T) {
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}}, PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
PreinstallPluginsAsync: true, PreinstallPluginsAsync: true,
}, },
featuremgmt.WithFeatures(),
pluginstore.New(preg, &fakes.FakeLoader{}), pluginstore.New(preg, &fakes.FakeLoader{}),
&fakes.FakePluginInstaller{ &fakes.FakePluginInstaller{
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error { AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
@ -131,7 +126,6 @@ func TestService_Run(t *testing.T) {
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin", Version: "2.0.0"}}, PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin", Version: "2.0.0"}},
PreinstallPluginsAsync: true, PreinstallPluginsAsync: true,
}, },
featuremgmt.WithFeatures(),
pluginstore.New(preg, &fakes.FakeLoader{}), pluginstore.New(preg, &fakes.FakeLoader{}),
&fakes.FakePluginInstaller{ &fakes.FakePluginInstaller{
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error { AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
@ -155,7 +149,6 @@ func TestService_Run(t *testing.T) {
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin1"}, {ID: "myplugin2"}}, PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin1"}, {ID: "myplugin2"}},
PreinstallPluginsAsync: true, PreinstallPluginsAsync: true,
}, },
featuremgmt.WithFeatures(),
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}), pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
&fakes.FakePluginInstaller{ &fakes.FakePluginInstaller{
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error { AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
@ -179,7 +172,6 @@ func TestService_Run(t *testing.T) {
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin1"}, {ID: "myplugin2"}}, PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin1"}, {ID: "myplugin2"}},
PreinstallPluginsAsync: true, PreinstallPluginsAsync: true,
}, },
featuremgmt.WithFeatures(),
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}), pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
&fakes.FakePluginInstaller{ &fakes.FakePluginInstaller{
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error { AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
@ -205,7 +197,6 @@ func TestService_Run(t *testing.T) {
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}}, PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
PreinstallPluginsAsync: false, PreinstallPluginsAsync: false,
}, },
featuremgmt.WithFeatures(),
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}), pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
&fakes.FakePluginInstaller{ &fakes.FakePluginInstaller{
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error { AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
@ -225,7 +216,6 @@ func TestService_Run(t *testing.T) {
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}}, PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
PreinstallPluginsAsync: false, PreinstallPluginsAsync: false,
}, },
featuremgmt.WithFeatures(),
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}), pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
&fakes.FakePluginInstaller{ &fakes.FakePluginInstaller{
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error { AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {