Skip to content

Commit

Permalink
Merge pull request grafana#150 from periklis/backport-pr-9623-to-5.6
Browse files Browse the repository at this point in the history
[release-5.6] Backport PR grafana#9623
  • Loading branch information
openshift-merge-robot authored Jun 5, 2023
2 parents f855aa0 + a6ed087 commit 8b2bd58
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 1 deletion.
1 change: 1 addition & 0 deletions operator/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Release 5.6.7

- [9623](https://github.com/grafana/loki/pull/9623) **periklis**: Fix timeout config constructor when only tenants limits
- [9511](https://github.com/grafana/loki/pull/9511) **xperimental**: Do not update status after setting degraded condition
- [9405](https://github.com/grafana/loki/pull/9405) **periklis**: Add support for configuring HTTP server timeouts
- [9346](https://github.com/grafana/loki/pull/9346) **periklis**: Enable Route by default on OpenShift clusters
Expand Down
2 changes: 1 addition & 1 deletion operator/internal/manifests/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ func NewTimeoutConfig(s *lokiv1.LimitsSpec) (TimeoutConfig, error) {
}

queryTimeout := lokiDefaultQueryTimeout
if s.Global.QueryLimits != nil && s.Global.QueryLimits.QueryTimeout != "" {
if s.Global != nil && s.Global.QueryLimits != nil && s.Global.QueryLimits.QueryTimeout != "" {
var err error
globalQueryTimeout, err := time.ParseDuration(s.Global.QueryLimits.QueryTimeout)
if err != nil {
Expand Down
39 changes: 39 additions & 0 deletions operator/internal/manifests/options_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,45 @@ func TestNewTimeoutConfig_ReturnsCustomConfig_WhenLimitsSpecNotEmpty_UseMaxTenan
require.Equal(t, want, got)
}

func TestNewTimeoutConfig_ReturnsCustomConfig_WhenTenantLimitsSpecOnly_ReturnsUseMaxTenantQueryTimeout(t *testing.T) {
s := lokiv1.LokiStack{
Spec: lokiv1.LokiStackSpec{
Limits: &lokiv1.LimitsSpec{
Tenants: map[string]lokiv1.LimitsTemplateSpec{
"tenant-a": {
QueryLimits: &lokiv1.QueryLimitSpec{
QueryTimeout: "10m",
},
},
"tenant-b": {
QueryLimits: &lokiv1.QueryLimitSpec{
QueryTimeout: "20m",
},
},
},
},
},
}

got, err := NewTimeoutConfig(s.Spec.Limits)
require.NoError(t, err)

want := TimeoutConfig{
Loki: config.HTTPTimeoutConfig{
IdleTimeout: 30 * time.Second,
ReadTimeout: 2 * time.Minute,
WriteTimeout: 21 * time.Minute,
},
Gateway: GatewayTimeoutConfig{
ReadTimeout: 2*time.Minute + gatewayReadDuration,
WriteTimeout: 21*time.Minute + gatewayWriteDuration,
UpstreamWriteTimeout: 21 * time.Minute,
},
}

require.Equal(t, want, got)
}

func TestNewTimeoutConfig_ReturnsDefaults_WhenGlobalQueryTimeoutParseError(t *testing.T) {
s := lokiv1.LokiStack{
Spec: lokiv1.LokiStackSpec{
Expand Down

0 comments on commit 8b2bd58

Please sign in to comment.