From 5b2684bb0b4dc8b02c2e6f345f51b9ac8e060af4 Mon Sep 17 00:00:00 2001 From: Danny Kopping Date: Fri, 29 Oct 2021 14:15:28 +0200 Subject: [PATCH 1/3] Configuring query-frontend interface names with loopback device Signed-off-by: Danny Kopping --- pkg/loki/config_wrapper.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/loki/config_wrapper.go b/pkg/loki/config_wrapper.go index 5522fe686de3..c64d78cb1a50 100644 --- a/pkg/loki/config_wrapper.go +++ b/pkg/loki/config_wrapper.go @@ -169,6 +169,7 @@ func applyPathPrefixDefaults(r *ConfigWrapper, defaults ConfigWrapper) { func appendLoopbackInterface(r *ConfigWrapper) { if loopbackIface, err := loki_net.LoopbackInterfaceName(); err == nil { r.Ingester.LifecyclerConfig.InfNames = append(r.Ingester.LifecyclerConfig.InfNames, loopbackIface) + r.Config.Frontend.FrontendV2.InfNames = append(r.Config.Frontend.FrontendV2.InfNames, loopbackIface) } } From 1c38089bf02cb44017af3491e29d371be3480335 Mon Sep 17 00:00:00 2001 From: Danny Kopping Date: Fri, 29 Oct 2021 14:22:47 +0200 Subject: [PATCH 2/3] Adding test (thanks @DylanGuedes!) Signed-off-by: Danny Kopping --- pkg/loki/config_wrapper_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkg/loki/config_wrapper_test.go b/pkg/loki/config_wrapper_test.go index 46e480fa5a2c..6d8b0730db78 100644 --- a/pkg/loki/config_wrapper_test.go +++ b/pkg/loki/config_wrapper_test.go @@ -993,3 +993,25 @@ query_scheduler: assert.Equal(t, config.Ingester.LifecyclerConfig.InfNames, []string{"eth0", "en0", defaultIface}) }) } + +func TestLoopbackAppendingToFrontendV2(t *testing.T) { + defaultIface, err := loki_net.LoopbackInterfaceName() + assert.NoError(t, err) + assert.NotEmpty(t, defaultIface) + + t.Run("by default, loopback should be in FrontendV2 interface names", func(t *testing.T) { + config, _, err := configWrapperFromYAML(t, minimalConfig, []string{}) + assert.NoError(t, err) + assert.Equal(t, []string{"eth0", "en0", defaultIface}, config.Frontend.FrontendV2.InfNames) + }) + + t.Run("loopback shouldn't be in FrontendV2 interface names if set by user", func(t *testing.T) { + yamlContent := `frontend: + instance_interface_names: + - otheriface` + + config, _, err := configWrapperFromYAML(t, yamlContent, []string{}) + assert.NoError(t, err) + assert.Equal(t, []string{"otheriface"}, config.Frontend.FrontendV2.InfNames) + }) +} \ No newline at end of file From d22b4e3e2c7a8364c87eb04d06e681d81d95d47a Mon Sep 17 00:00:00 2001 From: Danny Kopping Date: Fri, 29 Oct 2021 15:46:48 +0200 Subject: [PATCH 3/3] Appeasing the linter Signed-off-by: Danny Kopping --- pkg/loki/config_wrapper_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/loki/config_wrapper_test.go b/pkg/loki/config_wrapper_test.go index 6d8b0730db78..2dad9c47d5c4 100644 --- a/pkg/loki/config_wrapper_test.go +++ b/pkg/loki/config_wrapper_test.go @@ -1014,4 +1014,4 @@ func TestLoopbackAppendingToFrontendV2(t *testing.T) { assert.NoError(t, err) assert.Equal(t, []string{"otheriface"}, config.Frontend.FrontendV2.InfNames) }) -} \ No newline at end of file +}