Skip to content

Commit

Permalink
Promote experimental features to stable (#8400)
Browse files Browse the repository at this point in the history
* Promote experimental features to stable

I looked mostly at features that have been added a long time ago (~2 years for ruler changes) and that have been at use extensively by the community (multi-tenant ruler) or at Grafana Labs (enabling/disabling rule evaluations).

This PR also fixes a typo and adds the PR number for a changelog entry

Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com>

* add number to CHANGELOG.md

Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com>

* Udpate autogenerated docs

* Promote max-tenants to stable

Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com>

---------

Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com>
(cherry picked from commit 69c0f88)
  • Loading branch information
dimitarvdimitrov committed Jun 18, 2024
1 parent a23e559 commit b3fbb71
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 27 deletions.
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@
* [CHANGE] Added new metric `cortex_compactor_disk_out_of_space_errors_total` which counts how many times a compaction failed due to the compactor being out of disk. #8237
* [CHANGE] Anonymous usage statistics tracking: report active series in addition to in-memory series. #8279
* [CHANGE] Ruler: `evaluation_delay` field in the rule group configuration has been deprecated. Please use `query_offset` instead (it has the same exact meaning and behaviour). #8295
* [CHANGE] General: remove `-log.buffered`. The configuration option has been enabled by default and deprecated since Mimir 2.11.
* [CHANGE] General: remove `-log.buffered`. The configuration option has been enabled by default and deprecated since Mimir 2.11. #8395
* [CHANGE] Ruler: promote tenant federation from experimental to stable. #8400
* [CHANGE] Ruler: promote `-ruler.recording-rules-evaluation-enabled` and `-ruler.alerting-rules-evaluation-enabled` from experimental to stable. #8400
* [CHANGE] General: promote `-tenant-federation.max-tenants` from experimental to stable. #8400
* [FEATURE] Continuous-test: now runable as a module with `mimir -target=continuous-test`. #7747
* [FEATURE] Store-gateway: Allow specific tenants to be enabled or disabled via `-store-gateway.enabled-tenants` or `-store-gateway.disabled-tenants` CLI flags or their corresponding YAML settings. #7653
* [FEATURE] New `-<prefix>.s3.bucket-lookup-type` flag configures lookup style type, used to access bucket in s3 compatible providers. #7684
Expand Down
9 changes: 3 additions & 6 deletions cmd/mimir/config-descriptor.json
Original file line number Diff line number Diff line change
Expand Up @@ -4045,8 +4045,7 @@
"fieldValue": null,
"fieldDefaultValue": true,
"fieldFlag": "ruler.recording-rules-evaluation-enabled",
"fieldType": "boolean",
"fieldCategory": "experimental"
"fieldType": "boolean"
},
{
"kind": "field",
Expand All @@ -4056,8 +4055,7 @@
"fieldValue": null,
"fieldDefaultValue": true,
"fieldFlag": "ruler.alerting-rules-evaluation-enabled",
"fieldType": "boolean",
"fieldCategory": "experimental"
"fieldType": "boolean"
},
{
"kind": "field",
Expand Down Expand Up @@ -10418,8 +10416,7 @@
"fieldValue": null,
"fieldDefaultValue": 0,
"fieldFlag": "tenant-federation.max-tenants",
"fieldType": "int",
"fieldCategory": "experimental"
"fieldType": "int"
}
],
"fieldValue": null,
Expand Down
6 changes: 3 additions & 3 deletions cmd/mimir/help-all.txt.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -2428,7 +2428,7 @@ Usage of ./cmd/mimir/mimir:
-ruler-storage.swift.username string
OpenStack Swift username.
-ruler.alerting-rules-evaluation-enabled
[experimental] Controls whether alerting rules evaluation is enabled. This configuration option can be used to forcefully disable alerting rules evaluation on a per-tenant basis. (default true)
Controls whether alerting rules evaluation is enabled. This configuration option can be used to forcefully disable alerting rules evaluation on a per-tenant basis. (default true)
-ruler.alertmanager-client.basic-auth-password string
HTTP Basic authentication password. It overrides the password set in the URL (if any).
-ruler.alertmanager-client.basic-auth-username string
Expand Down Expand Up @@ -2574,7 +2574,7 @@ Usage of ./cmd/mimir/mimir:
-ruler.query-stats-enabled
Report the wall time for ruler queries to complete as a per-tenant metric and as an info level log message.
-ruler.recording-rules-evaluation-enabled
[experimental] Controls whether recording rules evaluation is enabled. This configuration option can be used to forcefully disable recording rules evaluation on a per-tenant basis. (default true)
Controls whether recording rules evaluation is enabled. This configuration option can be used to forcefully disable recording rules evaluation on a per-tenant basis. (default true)
-ruler.resend-delay duration
Minimum amount of time to wait before resending an alert to Alertmanager. (default 1m0s)
-ruler.ring.consul.acl-token string
Expand Down Expand Up @@ -2850,7 +2850,7 @@ Usage of ./cmd/mimir/mimir:
-tenant-federation.max-concurrent int
[experimental] The number of workers used for each tenant federated query. This setting limits the maximum number of per-tenant queries executed at a time for a tenant federated query. (default 16)
-tenant-federation.max-tenants int
[experimental] The max number of tenant IDs that may be supplied for a federated query if enabled. 0 to disable the limit.
The max number of tenant IDs that may be supplied for a federated query if enabled. 0 to disable the limit.
-tests.basic-auth-password string
The password to use for HTTP bearer authentication. (mutually exclusive with tenant-id or bearer-token flags)
-tests.basic-auth-user string
Expand Down
6 changes: 6 additions & 0 deletions cmd/mimir/help.txt.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -629,6 +629,8 @@ Usage of ./cmd/mimir/mimir:
OpenStack Swift user ID.
-ruler-storage.swift.username string
OpenStack Swift username.
-ruler.alerting-rules-evaluation-enabled
Controls whether alerting rules evaluation is enabled. This configuration option can be used to forcefully disable alerting rules evaluation on a per-tenant basis. (default true)
-ruler.alertmanager-client.basic-auth-password string
HTTP Basic authentication password. It overrides the password set in the URL (if any).
-ruler.alertmanager-client.basic-auth-username string
Expand All @@ -649,6 +651,8 @@ Usage of ./cmd/mimir/mimir:
GRPC listen address of the query-frontend(s). Must be a DNS address (prefixed with dns:///) to enable client side load balancing.
-ruler.query-frontend.query-result-response-format string
Format to use when retrieving query results from query-frontends. Supported values: json, protobuf (default "protobuf")
-ruler.recording-rules-evaluation-enabled
Controls whether recording rules evaluation is enabled. This configuration option can be used to forcefully disable recording rules evaluation on a per-tenant basis. (default true)
-ruler.ring.consul.hostname string
Hostname and port of Consul. (default "localhost:8500")
-ruler.ring.etcd.endpoints string
Expand Down Expand Up @@ -723,6 +727,8 @@ Usage of ./cmd/mimir/mimir:
Comma-separated list of components to include in the instantiated process. The default value 'all' includes all components that are required to form a functional Grafana Mimir instance in single-binary mode. Use the '-modules' command line flag to get a list of available components, and to see which components are included with 'all'. (default all)
-tenant-federation.enabled
If enabled on all services, queries can be federated across multiple tenants. The tenant IDs involved need to be specified separated by a '|' character in the 'X-Scope-OrgID' header.
-tenant-federation.max-tenants int
The max number of tenant IDs that may be supplied for a federated query if enabled. 0 to disable the limit.
-tests.basic-auth-password string
The password to use for HTTP bearer authentication. (mutually exclusive with tenant-id or bearer-token flags)
-tests.basic-auth-user string
Expand Down
7 changes: 1 addition & 6 deletions docs/sources/mimir/configure/about-versioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,6 @@ The following features are currently experimental:
- Enable cleanup of remaining files in the tenant bucket when there are no blocks remaining in the bucket index.
- `-compactor.no-blocks-file-cleanup-enabled`
- Ruler
- Tenant federation
- Disable alerting and recording rules evaluation on a per-tenant basis
- `-ruler.recording-rules-evaluation-enabled`
- `-ruler.alerting-rules-evaluation-enabled`
- Aligning of evaluation timestamp on interval (`align_evaluation_time_on_interval`)
- Distributor
- Metrics relabeling
Expand Down Expand Up @@ -152,10 +148,9 @@ The following features are currently experimental:
- Query-frontend
- `-query-frontend.querier-forget-delay`
- Instant query splitting (`-query-frontend.split-instant-queries-by-interval`)
- Lower TTL for cache entries overlapping the out-of-order samples ingestion window (re-using `-ingester.out-of-order-allowance` from ingesters)
- Lower TTL for cache entries overlapping the out-of-order samples ingestion window (re-using `-ingester.out-of-order-window` from ingesters)
- Use of Redis cache backend (`-query-frontend.results-cache.backend=redis`)
- Query blocking on a per-tenant basis (configured with the limit `blocked_queries`)
- Max number of tenants that may be queried at once (`-tenant-federation.max-tenants`)
- Sharding of active series queries (`-query-frontend.shard-active-series-queries`)
- Server-side write timeout for responses to active series requests (`-query-frontend.active-series-write-timeout`)
- Remote read request limits (`-query-frontend.remote-read-limits-enabled`)
Expand Down
16 changes: 8 additions & 8 deletions docs/sources/mimir/configure/configuration-parameters/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -216,8 +216,8 @@ tenant_federation:
# CLI flag: -tenant-federation.max-concurrent
[max_concurrent: <int> | default = 16]

# (experimental) The max number of tenant IDs that may be supplied for a
# federated query if enabled. 0 to disable the limit.
# The max number of tenant IDs that may be supplied for a federated query if
# enabled. 0 to disable the limit.
# CLI flag: -tenant-federation.max-tenants
[max_tenants: <int> | default = 0]

Expand Down Expand Up @@ -3415,15 +3415,15 @@ The `limits` block configures default and per-tenant limits imposed by component
# CLI flag: -ruler.max-rule-groups-per-tenant
[ruler_max_rule_groups_per_tenant: <int> | default = 70]

# (experimental) Controls whether recording rules evaluation is enabled. This
# configuration option can be used to forcefully disable recording rules
# evaluation on a per-tenant basis.
# Controls whether recording rules evaluation is enabled. This configuration
# option can be used to forcefully disable recording rules evaluation on a
# per-tenant basis.
# CLI flag: -ruler.recording-rules-evaluation-enabled
[ruler_recording_rules_evaluation_enabled: <boolean> | default = true]

# (experimental) Controls whether alerting rules evaluation is enabled. This
# configuration option can be used to forcefully disable alerting rules
# evaluation on a per-tenant basis.
# Controls whether alerting rules evaluation is enabled. This configuration
# option can be used to forcefully disable alerting rules evaluation on a
# per-tenant basis.
# CLI flag: -ruler.alerting-rules-evaluation-enabled
[ruler_alerting_rules_evaluation_enabled: <boolean> | default = true]

Expand Down
2 changes: 1 addition & 1 deletion pkg/querier/tenantfederation/tenant_federation.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ type Config struct {
// Enabled switches on support for multi tenant query federation
Enabled bool `yaml:"enabled"`
MaxConcurrent int `yaml:"max_concurrent" category:"experimental"`
MaxTenants int `yaml:"max_tenants" category:"experimental"`
MaxTenants int `yaml:"max_tenants"`
}

func (cfg *Config) RegisterFlags(f *flag.FlagSet) {
Expand Down
4 changes: 2 additions & 2 deletions pkg/util/validation/limits.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,8 @@ type Limits struct {
RulerTenantShardSize int `yaml:"ruler_tenant_shard_size" json:"ruler_tenant_shard_size"`
RulerMaxRulesPerRuleGroup int `yaml:"ruler_max_rules_per_rule_group" json:"ruler_max_rules_per_rule_group"`
RulerMaxRuleGroupsPerTenant int `yaml:"ruler_max_rule_groups_per_tenant" json:"ruler_max_rule_groups_per_tenant"`
RulerRecordingRulesEvaluationEnabled bool `yaml:"ruler_recording_rules_evaluation_enabled" json:"ruler_recording_rules_evaluation_enabled" category:"experimental"`
RulerAlertingRulesEvaluationEnabled bool `yaml:"ruler_alerting_rules_evaluation_enabled" json:"ruler_alerting_rules_evaluation_enabled" category:"experimental"`
RulerRecordingRulesEvaluationEnabled bool `yaml:"ruler_recording_rules_evaluation_enabled" json:"ruler_recording_rules_evaluation_enabled"`
RulerAlertingRulesEvaluationEnabled bool `yaml:"ruler_alerting_rules_evaluation_enabled" json:"ruler_alerting_rules_evaluation_enabled"`
RulerSyncRulesOnChangesEnabled bool `yaml:"ruler_sync_rules_on_changes_enabled" json:"ruler_sync_rules_on_changes_enabled" category:"advanced"`

// Store-gateway.
Expand Down

0 comments on commit b3fbb71

Please sign in to comment.