Skip to content

Commit

Permalink
Fix promtail client default values (#2049)
Browse files Browse the repository at this point in the history
  • Loading branch information
adityacs authored May 8, 2020
1 parent d975b1f commit 83873d1
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 3 deletions.
6 changes: 3 additions & 3 deletions pkg/promtail/client/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error {
// force sane defaults.
cfg = raw{
BackoffConfig: util.BackoffConfig{
MaxBackoff: 5 * time.Second,
MaxRetries: 5,
MinBackoff: 100 * time.Millisecond,
MaxBackoff: 5 * time.Minute,
MaxRetries: 10,
MinBackoff: 500 * time.Millisecond,
},
BatchSize: 100 * 1024,
BatchWait: 1 * time.Second,
Expand Down
81 changes: 81 additions & 0 deletions pkg/promtail/client/config_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package client

import (
"net/url"
"reflect"
"testing"
"time"

"github.com/cortexproject/cortex/pkg/util"
"github.com/cortexproject/cortex/pkg/util/flagext"
"github.com/stretchr/testify/require"

"gopkg.in/yaml.v2"
)

var clientConfig = Config{}

var clientDefaultConfig = (`
url: http://localhost:3100/loki/api/v1/push
`)

var clientCustomConfig = `
url: http://localhost:3100/loki/api/v1/push
backoff_config:
max_retries: 20
min_period: 5s
max_period: 1m
batchwait: 5s
batchsize: 204800
timeout: 5s
`

func Test_Config(t *testing.T) {
u, err := url.Parse("http://localhost:3100/loki/api/v1/push")
require.NoError(t, err)
tests := []struct {
configValues string
expectedConfig Config
}{
{
clientDefaultConfig,
Config{
URL: flagext.URLValue{
u,
},
BackoffConfig: util.BackoffConfig{
MaxBackoff: 5 * time.Minute,
MaxRetries: 10,
MinBackoff: 500 * time.Millisecond,
},
BatchSize: 100 * 1024,
BatchWait: 1 * time.Second,
Timeout: 10 * time.Second,
},
},
{
clientCustomConfig,
Config{
URL: flagext.URLValue{
u,
},
BackoffConfig: util.BackoffConfig{
MaxBackoff: 1 * time.Minute,
MaxRetries: 20,
MinBackoff: 5 * time.Second,
},
BatchSize: 100 * 2048,
BatchWait: 5 * time.Second,
Timeout: 5 * time.Second,
},
},
}
for _, tc := range tests {
err := yaml.Unmarshal([]byte(tc.configValues), &clientConfig)
require.NoError(t, err)

if !reflect.DeepEqual(tc.expectedConfig, clientConfig) {
t.Errorf("Configs does not match, expected: %v, recieved: %v", tc.expectedConfig, clientConfig)
}
}
}

0 comments on commit 83873d1

Please sign in to comment.