Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Promote experimental features to stable #8400

Merged
merged 4 commits into from
Jun 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@
* [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] Store-gateway / querier: enable streaming chunks from store-gateways to queriers by default. #6646
* [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
Loading