Storage: Remove unified storage feature flag (#92192)

remove unified storage flag
This commit is contained in:
Ryan McKinley
2024-08-21 19:28:30 +03:00
committed by GitHub
parent 71f0dae39e
commit 2136fd9a92
11 changed files with 7 additions and 36 deletions
@@ -121,7 +121,6 @@ Experimental features might be changed or removed without prior notice.
| `canvasPanelNesting` | Allow elements nesting |
| `disableSecretsCompatibility` | Disable duplicated secret storage in legacy tables |
| `logRequestsInstrumentedAsUnknown` | Logs the path for requests that are instrumented as unknown |
| `unifiedStorage` | SQL-based k8s storage |
| `showDashboardValidationWarnings` | Show warnings when dashboards do not validate against the schema |
| `mysqlAnsiQuotes` | Use double quotes to escape keyword in a MySQL query |
| `alertingBacktesting` | Rule backtesting API for alerting |
@@ -42,7 +42,6 @@ export interface FeatureToggles {
logRequestsInstrumentedAsUnknown?: boolean;
topnav?: boolean;
grpcServer?: boolean;
unifiedStorage?: boolean;
cloudWatchCrossAccountQuerying?: boolean;
showDashboardValidationWarnings?: boolean;
mysqlAnsiQuotes?: boolean;
-8
View File
@@ -285,10 +285,6 @@ func (s *service) start(ctx context.Context) error {
}
case grafanaapiserveroptions.StorageTypeUnified:
if !s.features.IsEnabledGlobally(featuremgmt.FlagUnifiedStorage) {
return fmt.Errorf("unified storage requires the unifiedStorage feature flag")
}
server, err := sql.ProvideResourceServer(s.db, s.cfg, s.features, s.tracing)
if err != nil {
return err
@@ -298,10 +294,6 @@ func (s *service) start(ctx context.Context) error {
o.RecommendedOptions.Etcd.StorageConfig)
case grafanaapiserveroptions.StorageTypeUnifiedGrpc:
if !s.features.IsEnabledGlobally(featuremgmt.FlagUnifiedStorage) {
return fmt.Errorf("unified storage requires the unifiedStorage feature flag")
}
opts := []grpc.DialOption{
grpc.WithStatsHandler(otelgrpc.NewClientHandler()),
grpc.WithTransportCredentials(insecure.NewCredentials()),
-8
View File
@@ -194,14 +194,6 @@ var (
Owner: grafanaSearchAndStorageSquad,
HideFromAdminPage: true,
},
{
Name: "unifiedStorage",
Description: "SQL-based k8s storage",
Stage: FeatureStageExperimental,
RequiresDevMode: false,
RequiresRestart: true, // new SQL tables created
Owner: grafanaSearchAndStorageSquad,
},
{
Name: "cloudWatchCrossAccountQuerying",
Description: "Enables cross-account querying in CloudWatch datasources",
-1
View File
@@ -23,7 +23,6 @@ disableSecretsCompatibility,experimental,@grafana/hosted-grafana-team,false,true
logRequestsInstrumentedAsUnknown,experimental,@grafana/hosted-grafana-team,false,false,false
topnav,deprecated,@grafana/grafana-frontend-platform,false,false,false
grpcServer,preview,@grafana/search-and-storage,false,false,false
unifiedStorage,experimental,@grafana/search-and-storage,false,true,false
cloudWatchCrossAccountQuerying,GA,@grafana/aws-datasources,false,false,false
showDashboardValidationWarnings,experimental,@grafana/dashboards-squad,false,false,false
mysqlAnsiQuotes,experimental,@grafana/search-and-storage,false,false,false
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
23 logRequestsInstrumentedAsUnknown experimental @grafana/hosted-grafana-team false false false
24 topnav deprecated @grafana/grafana-frontend-platform false false false
25 grpcServer preview @grafana/search-and-storage false false false
unifiedStorage experimental @grafana/search-and-storage false true false
26 cloudWatchCrossAccountQuerying GA @grafana/aws-datasources false false false
27 showDashboardValidationWarnings experimental @grafana/dashboards-squad false false false
28 mysqlAnsiQuotes experimental @grafana/search-and-storage false false false
-4
View File
@@ -103,10 +103,6 @@ const (
// Run the GRPC server
FlagGrpcServer = "grpcServer"
// FlagUnifiedStorage
// SQL-based k8s storage
FlagUnifiedStorage = "unifiedStorage"
// FlagCloudWatchCrossAccountQuerying
// Enables cross-account querying in CloudWatch datasources
FlagCloudWatchCrossAccountQuerying = "cloudWatchCrossAccountQuerying"
@@ -2695,6 +2695,7 @@
"name": "unifiedStorage",
"resourceVersion": "1724096690370",
"creationTimestamp": "2023-12-06T20:21:21Z",
"deletionTimestamp": "2024-08-21T09:30:06Z",
"annotations": {
"grafana.app/updatedTimestamp": "2024-08-19 19:44:50.370023815 +0000 UTC"
}
-1
View File
@@ -481,7 +481,6 @@ func getCfgForTesting(opts ...InitTestDBOpt) *setting.Cfg {
func getFeaturesForTesting(opts ...InitTestDBOpt) featuremgmt.FeatureToggles {
featureKeys := []any{
featuremgmt.FlagPanelTitleSearch,
featuremgmt.FlagUnifiedStorage,
}
for _, opt := range opts {
if len(opt.FeatureFlags) > 0 {
+4 -6
View File
@@ -61,12 +61,10 @@ func newResourceDBProvider(grafanaDB infraDB.DB, cfg *setting.Cfg, features feat
}
p = &resourceDBProvider{
cfg: cfg,
log: log.New("entity-db"),
logQueries: getter.Key("log_queries").MustBool(false),
}
if features.IsEnabledGlobally(featuremgmt.FlagUnifiedStorage) {
p.migrateFunc = migrations.MigrateResourceStore
cfg: cfg,
log: log.New("entity-db"),
logQueries: getter.Key("log_queries").MustBool(false),
migrateFunc: migrations.MigrateResourceStore,
}
switch dbType := getter.Key("db_type").MustString(""); dbType {
@@ -31,7 +31,7 @@ func newServer(t *testing.T) (sql.Backend, resource.ResourceServer) {
dbstore := infraDB.InitTestDB(t)
cfg := setting.NewCfg()
features := featuremgmt.WithFeatures(featuremgmt.FlagUnifiedStorage)
features := featuremgmt.WithFeatures()
eDB, err := dbimpl.ProvideResourceDB(dbstore, cfg, features, nil)
require.NoError(t, err)
@@ -331,7 +331,7 @@ func TestClientServer(t *testing.T) {
cfg.GRPCServerAddress = "localhost:0"
cfg.GRPCServerNetwork = "tcp"
features := featuremgmt.WithFeatures(featuremgmt.FlagUnifiedStorage)
features := featuremgmt.WithFeatures()
svc, err := sql.ProvideService(cfg, features, dbstore, nil)
require.NoError(t, err)
-4
View File
@@ -149,7 +149,6 @@ func TestIntegrationPlaylist(t *testing.T) {
DisableAnonymous: true,
APIServerStorageType: "unified", // use the entity api tables
EnableFeatureToggles: []string{
featuremgmt.FlagUnifiedStorage,
featuremgmt.FlagKubernetesPlaylists, // Required so that legacy calls are also written
},
DualWriterDesiredModes: map[string]grafanarest.DualWriterMode{
@@ -164,7 +163,6 @@ func TestIntegrationPlaylist(t *testing.T) {
DisableAnonymous: true,
APIServerStorageType: "unified", // use the entity api tables
EnableFeatureToggles: []string{
featuremgmt.FlagUnifiedStorage,
featuremgmt.FlagKubernetesPlaylists, // Required so that legacy calls are also written
},
DualWriterDesiredModes: map[string]grafanarest.DualWriterMode{
@@ -179,7 +177,6 @@ func TestIntegrationPlaylist(t *testing.T) {
DisableAnonymous: true,
APIServerStorageType: "unified", // use the entity api tables
EnableFeatureToggles: []string{
featuremgmt.FlagUnifiedStorage,
featuremgmt.FlagKubernetesPlaylists, // Required so that legacy calls are also written
},
DualWriterDesiredModes: map[string]grafanarest.DualWriterMode{
@@ -194,7 +191,6 @@ func TestIntegrationPlaylist(t *testing.T) {
DisableAnonymous: true,
APIServerStorageType: "unified", // use the entity api tables
EnableFeatureToggles: []string{
featuremgmt.FlagUnifiedStorage,
featuremgmt.FlagKubernetesPlaylists, // Required so that legacy calls are also written
},
DualWriterDesiredModes: map[string]grafanarest.DualWriterMode{