diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ed4fb36b27ef..4e7e70e30b106 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ * [10451](https://github.com/grafana/loki/pull/10451) **shantanualsi** Upgrade thanos `objstore` * [10814](https://github.com/grafana/loki/pull/10814) **shantanualsi,kaviraj** Upgrade prometheus to v0.47.1 and dskit * [10959](https://github.com/grafana/loki/pull/10959) **slim-bean** introduce a backoff wait on subquery retries. +* [11121](https://github.com/grafana/loki/pull/11121) **periklis** Ensure all lifecycler cfgs ref a valid IPv6 addr and port combination #### Promtail diff --git a/pkg/distributor/distributor_ring.go b/pkg/distributor/distributor_ring.go index fa0b04b237f8d..0c7451ebdea2f 100644 --- a/pkg/distributor/distributor_ring.go +++ b/pkg/distributor/distributor_ring.go @@ -2,8 +2,9 @@ package distributor import ( "flag" - "fmt" + "net" "os" + "strconv" "time" "github.com/go-kit/log" @@ -72,7 +73,7 @@ func (cfg *RingConfig) ToBasicLifecyclerConfig(logger log.Logger) (ring.BasicLif return ring.BasicLifecyclerConfig{ ID: cfg.InstanceID, - Addr: fmt.Sprintf("%s:%d", instanceAddr, instancePort), + Addr: net.JoinHostPort(instanceAddr, strconv.Itoa(instancePort)), HeartbeatPeriod: cfg.HeartbeatPeriod, HeartbeatTimeout: cfg.HeartbeatTimeout, TokensObservePeriod: 0, diff --git a/pkg/ruler/base/ruler_ring.go b/pkg/ruler/base/ruler_ring.go index ec1f19f6cfe19..697b1d8b9ac59 100644 --- a/pkg/ruler/base/ruler_ring.go +++ b/pkg/ruler/base/ruler_ring.go @@ -3,7 +3,9 @@ package base import ( "flag" "fmt" + "net" "os" + "strconv" "time" "github.com/go-kit/log" @@ -88,7 +90,7 @@ func (cfg *RingConfig) ToLifecyclerConfig(logger log.Logger) (ring.BasicLifecycl return ring.BasicLifecyclerConfig{ ID: cfg.InstanceID, - Addr: fmt.Sprintf("%s:%d", instanceAddr, instancePort), + Addr: net.JoinHostPort(instanceAddr, strconv.Itoa(instancePort)), HeartbeatPeriod: cfg.HeartbeatPeriod, TokensObservePeriod: 0, NumTokens: cfg.NumTokens, diff --git a/pkg/util/ring/ring_config.go b/pkg/util/ring/ring_config.go index 962c48d940bb8..eb9945ffcb3ec 100644 --- a/pkg/util/ring/ring_config.go +++ b/pkg/util/ring/ring_config.go @@ -2,8 +2,9 @@ package ring import ( "flag" - "fmt" + "net" "os" + "strconv" "time" "github.com/go-kit/log" @@ -81,7 +82,7 @@ func (cfg *RingConfig) ToLifecyclerConfig(numTokens int, logger log.Logger) (rin return ring.BasicLifecyclerConfig{ ID: cfg.InstanceID, - Addr: fmt.Sprintf("%s:%d", instanceAddr, instancePort), + Addr: net.JoinHostPort(instanceAddr, strconv.Itoa(instancePort)), Zone: cfg.InstanceZone, HeartbeatPeriod: cfg.HeartbeatPeriod, TokensObservePeriod: 0,