Skip to content

Commit e8f2b47

Browse files
authored
Merge pull request grafana#313 from periklis/backport-pr-13369-5.6
[release-5.6] Backport PR grafana#13369
2 parents 7a3abe1 + b9690e2 commit e8f2b47

11 files changed

+105
-0
lines changed

operator/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
## Main
22

3+
## Release 5.6.21
4+
5+
- [13369](https://github.com/grafana/loki/pull/13369) **jatinsu**: feat(operator): Add support for the volume API
6+
37
## Release 5.6.20
48

59
- [13066](https://github.com/grafana/loki/pull/13066) **xperimental**: Use a minimum value for replay memory ceiling

operator/apis/loki/v1/lokistack_types.go

+7
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,13 @@ type QueryLimitSpec struct {
562562
// +kubebuilder:validation:Optional
563563
// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:number",displayName="Cardinality Limit"
564564
CardinalityLimit int32 `json:"cardinalityLimit,omitempty"`
565+
566+
// MaxVolumeSeries defines the maximum number of aggregated series in a log-volume response
567+
//
568+
// +optional
569+
// +kubebuilder:validation:Optional
570+
// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:number",displayName="Max Volume Series"
571+
MaxVolumeSeries int32 `json:"maxVolumeSeries,omitempty"`
565572
}
566573

567574
// IngestionLimitSpec defines the limits applied at the ingestion path.

operator/bundle/manifests/loki-operator.clusterserviceversion.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,12 @@ spec:
390390
path: limits.global.queries.maxQuerySeries
391391
x-descriptors:
392392
- urn:alm:descriptor:com.tectonic.ui:number
393+
- description: MaxVolumeSeries defines the maximum number of aggregated series
394+
in a log-volume response
395+
displayName: Max Volume Series
396+
path: limits.global.queries.maxVolumeSeries
397+
x-descriptors:
398+
- urn:alm:descriptor:com.tectonic.ui:number
393399
- description: Timeout when querying ingesters or storage during the execution
394400
of a query request.
395401
displayName: Query Timeout
@@ -474,6 +480,12 @@ spec:
474480
path: limits.tenants.queries.maxQuerySeries
475481
x-descriptors:
476482
- urn:alm:descriptor:com.tectonic.ui:number
483+
- description: MaxVolumeSeries defines the maximum number of aggregated series
484+
in a log-volume response
485+
displayName: Max Volume Series
486+
path: limits.tenants.queries.maxVolumeSeries
487+
x-descriptors:
488+
- urn:alm:descriptor:com.tectonic.ui:number
477489
- description: Timeout when querying ingesters or storage during the execution
478490
of a query request.
479491
displayName: Query Timeout

operator/bundle/manifests/loki.grafana.com_lokistacks.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,11 @@ spec:
170170
unique series that is returned by a metric query.
171171
format: int32
172172
type: integer
173+
maxVolumeSeries:
174+
description: MaxVolumeSeries defines the maximum number
175+
of aggregated series in a log-volume response
176+
format: int32
177+
type: integer
173178
queryTimeout:
174179
default: 3m
175180
description: Timeout when querying ingesters or storage
@@ -298,6 +303,11 @@ spec:
298303
of unique series that is returned by a metric query.
299304
format: int32
300305
type: integer
306+
maxVolumeSeries:
307+
description: MaxVolumeSeries defines the maximum number
308+
of aggregated series in a log-volume response
309+
format: int32
310+
type: integer
301311
queryTimeout:
302312
default: 3m
303313
description: Timeout when querying ingesters or storage

operator/config/crd/bases/loki.grafana.com_lokistacks.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,11 @@ spec:
153153
unique series that is returned by a metric query.
154154
format: int32
155155
type: integer
156+
maxVolumeSeries:
157+
description: MaxVolumeSeries defines the maximum number
158+
of aggregated series in a log-volume response
159+
format: int32
160+
type: integer
156161
queryTimeout:
157162
default: 3m
158163
description: Timeout when querying ingesters or storage
@@ -281,6 +286,11 @@ spec:
281286
of unique series that is returned by a metric query.
282287
format: int32
283288
type: integer
289+
maxVolumeSeries:
290+
description: MaxVolumeSeries defines the maximum number
291+
of aggregated series in a log-volume response
292+
format: int32
293+
type: integer
284294
queryTimeout:
285295
default: 3m
286296
description: Timeout when querying ingesters or storage

operator/config/manifests/bases/loki-operator.clusterserviceversion.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,12 @@ spec:
245245
path: limits.global.queries.maxQuerySeries
246246
x-descriptors:
247247
- urn:alm:descriptor:com.tectonic.ui:number
248+
- description: MaxVolumeSeries defines the maximum number of aggregated series
249+
in a log-volume response
250+
displayName: Max Volume Series
251+
path: limits.global.queries.maxVolumeSeries
252+
x-descriptors:
253+
- urn:alm:descriptor:com.tectonic.ui:number
248254
- description: Timeout when querying ingesters or storage during the execution
249255
of a query request.
250256
displayName: Query Timeout
@@ -329,6 +335,12 @@ spec:
329335
path: limits.tenants.queries.maxQuerySeries
330336
x-descriptors:
331337
- urn:alm:descriptor:com.tectonic.ui:number
338+
- description: MaxVolumeSeries defines the maximum number of aggregated series
339+
in a log-volume response
340+
displayName: Max Volume Series
341+
path: limits.tenants.queries.maxVolumeSeries
342+
x-descriptors:
343+
- urn:alm:descriptor:com.tectonic.ui:number
332344
- description: Timeout when querying ingesters or storage during the execution
333345
of a query request.
334346
displayName: Query Timeout

operator/docs/operator/api.md

+12
Original file line numberDiff line numberDiff line change
@@ -1862,6 +1862,18 @@ int32
18621862
<p>CardinalityLimit defines the cardinality limit for index queries.</p>
18631863
</td>
18641864
</tr>
1865+
<tr>
1866+
<td>
1867+
<code>maxVolumeSeries</code><br/>
1868+
<em>
1869+
int32
1870+
</em>
1871+
</td>
1872+
<td>
1873+
<em>(Optional)</em>
1874+
<p>MaxVolumeSeries defines the maximum number of aggregated series in a log-volume response</p>
1875+
</td>
1876+
</tr>
18651877
</tbody>
18661878
</table>
18671879

operator/internal/manifests/internal/config/build_test.go

+30
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ limits_config:
109109
per_stream_rate_limit_burst: 15MB
110110
split_queries_by_interval: 30m
111111
query_timeout: 1m
112+
volume_enabled: true
113+
volume_max_series: 1000
112114
memberlist:
113115
abort_if_cluster_join_fails: true
114116
advertise_port: 7946
@@ -197,6 +199,7 @@ overrides:
197199
MaxQuerySeries: 500,
198200
QueryTimeout: "1m",
199201
CardinalityLimit: 100000,
202+
MaxVolumeSeries: 1000,
200203
},
201204
},
202205
},
@@ -359,6 +362,8 @@ limits_config:
359362
per_stream_rate_limit_burst: 15MB
360363
split_queries_by_interval: 30m
361364
query_timeout: 1m
365+
volume_enabled: true
366+
volume_max_series: 1000
362367
memberlist:
363368
abort_if_cluster_join_fails: true
364369
advertise_port: 7946
@@ -452,6 +457,7 @@ overrides:
452457
MaxQuerySeries: 500,
453458
QueryTimeout: "1m",
454459
CardinalityLimit: 100000,
460+
MaxVolumeSeries: 1000,
455461
},
456462
},
457463
Tenants: map[string]lokiv1.LimitsTemplateSpec{
@@ -701,6 +707,8 @@ limits_config:
701707
per_stream_rate_limit_burst: 15MB
702708
split_queries_by_interval: 30m
703709
query_timeout: 1m
710+
volume_enabled: true
711+
volume_max_series: 1000
704712
memberlist:
705713
abort_if_cluster_join_fails: true
706714
advertise_port: 7946
@@ -843,6 +851,7 @@ overrides:
843851
MaxQuerySeries: 500,
844852
QueryTimeout: "1m",
845853
CardinalityLimit: 100000,
854+
MaxVolumeSeries: 1000,
846855
},
847856
},
848857
},
@@ -1052,6 +1061,8 @@ limits_config:
10521061
per_stream_rate_limit_burst: 15MB
10531062
split_queries_by_interval: 30m
10541063
query_timeout: 1m
1064+
volume_enabled: true
1065+
volume_max_series: 1000
10551066
memberlist:
10561067
abort_if_cluster_join_fails: true
10571068
advertise_port: 7946
@@ -1194,6 +1205,7 @@ overrides:
11941205
MaxQuerySeries: 500,
11951206
QueryTimeout: "1m",
11961207
CardinalityLimit: 100000,
1208+
MaxVolumeSeries: 1000,
11971209
},
11981210
},
11991211
},
@@ -1404,6 +1416,8 @@ limits_config:
14041416
per_stream_rate_limit_burst: 15MB
14051417
split_queries_by_interval: 30m
14061418
query_timeout: 1m
1419+
volume_enabled: true
1420+
volume_max_series: 1000
14071421
memberlist:
14081422
abort_if_cluster_join_fails: true
14091423
advertise_port: 7946
@@ -1559,6 +1573,7 @@ overrides:
15591573
MaxQuerySeries: 500,
15601574
QueryTimeout: "1m",
15611575
CardinalityLimit: 100000,
1576+
MaxVolumeSeries: 1000,
15621577
},
15631578
},
15641579
},
@@ -1794,6 +1809,8 @@ limits_config:
17941809
per_stream_rate_limit_burst: 15MB
17951810
split_queries_by_interval: 30m
17961811
query_timeout: 1m
1812+
volume_enabled: true
1813+
volume_max_series: 1000
17971814
memberlist:
17981815
abort_if_cluster_join_fails: true
17991816
advertise_port: 7946
@@ -1892,6 +1909,7 @@ overrides:
18921909
MaxQuerySeries: 500,
18931910
QueryTimeout: "1m",
18941911
CardinalityLimit: 100000,
1912+
MaxVolumeSeries: 1000,
18951913
},
18961914
Retention: &lokiv1.RetentionLimitSpec{
18971915
Days: 15,
@@ -2089,6 +2107,8 @@ limits_config:
20892107
per_stream_rate_limit_burst: 15MB
20902108
split_queries_by_interval: 30m
20912109
query_timeout: 2m
2110+
volume_enabled: true
2111+
volume_max_series: 1000
20922112
memberlist:
20932113
abort_if_cluster_join_fails: true
20942114
advertise_port: 7946
@@ -2257,6 +2277,7 @@ overrides:
22572277
MaxQuerySeries: 500,
22582278
QueryTimeout: "2m",
22592279
CardinalityLimit: 100000,
2280+
MaxVolumeSeries: 1000,
22602281
},
22612282
},
22622283
},
@@ -2522,6 +2543,8 @@ limits_config:
25222543
per_stream_rate_limit_burst: 15MB
25232544
split_queries_by_interval: 30m
25242545
query_timeout: 1m
2546+
volume_enabled: true
2547+
volume_max_series: 1000
25252548
memberlist:
25262549
abort_if_cluster_join_fails: true
25272550
advertise_port: 7946
@@ -2647,6 +2670,7 @@ overrides:
26472670
MaxQuerySeries: 500,
26482671
QueryTimeout: "1m",
26492672
CardinalityLimit: 100000,
2673+
MaxVolumeSeries: 1000,
26502674
},
26512675
},
26522676
},
@@ -2841,6 +2865,8 @@ limits_config:
28412865
per_stream_rate_limit_burst: 15MB
28422866
split_queries_by_interval: 30m
28432867
query_timeout: 1m
2868+
volume_enabled: true
2869+
volume_max_series: 1000
28442870
memberlist:
28452871
abort_if_cluster_join_fails: true
28462872
advertise_addr: ${HASH_RING_INSTANCE_ADDR}
@@ -2930,6 +2956,7 @@ overrides:
29302956
MaxQuerySeries: 500,
29312957
QueryTimeout: "1m",
29322958
CardinalityLimit: 100000,
2959+
MaxVolumeSeries: 1000,
29332960
},
29342961
},
29352962
},
@@ -3095,6 +3122,8 @@ limits_config:
30953122
per_stream_rate_limit_burst: 15MB
30963123
split_queries_by_interval: 30m
30973124
query_timeout: 1m
3125+
volume_enabled: true
3126+
volume_max_series: 1000
30983127
memberlist:
30993128
abort_if_cluster_join_fails: true
31003129
advertise_addr: ${HASH_RING_INSTANCE_ADDR}
@@ -3184,6 +3213,7 @@ overrides:
31843213
MaxQuerySeries: 500,
31853214
QueryTimeout: "1m",
31863215
CardinalityLimit: 100000,
3216+
MaxVolumeSeries: 1000,
31873217
},
31883218
},
31893219
},

operator/internal/manifests/internal/config/loki-config.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@ limits_config:
163163
cardinality_limit: {{ .Stack.Limits.Global.QueryLimits.CardinalityLimit }}
164164
max_streams_matchers_per_query: 1000
165165
query_timeout: {{ .Stack.Limits.Global.QueryLimits.QueryTimeout }}
166+
volume_enabled: true
167+
volume_max_series: {{ .Stack.Limits.Global.QueryLimits.MaxVolumeSeries }}
166168
{{- if .Retention.Enabled }}{{- with .Stack.Limits.Global.Retention }}
167169
retention_period: {{.Days}}d
168170
{{- with .Streams }}

operator/internal/manifests/internal/config/loki-runtime-config.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ overrides:
4747
{{- if $spec.QueryLimits.CardinalityLimit }}
4848
cardinality_limit: {{ $spec.QueryLimits.CardinalityLimit }}
4949
{{- end }}
50+
{{- if $spec.QueryLimits.MaxVolumeSeries }}
51+
max_volume_series: {{ $spec.QueryLimits.MaxVolumeSeries }}
52+
{{- end }}
5053
{{- end -}}
5154
{{- with $spec.Retention }}
5255
retention_period: {{ .Days }}d

operator/internal/manifests/internal/sizes.go

+3
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{
228228
MaxQuerySeries: 500,
229229
QueryTimeout: "1m",
230230
CardinalityLimit: 100000,
231+
MaxVolumeSeries: 1000,
231232
},
232233
},
233234
},
@@ -284,6 +285,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{
284285
MaxQuerySeries: 500,
285286
QueryTimeout: "1m",
286287
CardinalityLimit: 100000,
288+
MaxVolumeSeries: 1000,
287289
},
288290
},
289291
},
@@ -340,6 +342,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{
340342
MaxQuerySeries: 500,
341343
QueryTimeout: "1m",
342344
CardinalityLimit: 100000,
345+
MaxVolumeSeries: 1000,
343346
},
344347
},
345348
},

0 commit comments

Comments
 (0)