mirror of
https://github.com/tailscale/tailscale.git
synced 2025-01-05 23:07:44 +00:00
cmd/k8s-operator: add matching family addresses to status
This was added in 3451b89e5f01fd6c4845bcbf06f1bece9f39cdfc, but resulted in the v6 Tailscale address being added to status when when the forwarding only happened on the v4 address. Updates #502 Signed-off-by: Maisem Ali <maisem@tailscale.com>
This commit is contained in:
parent
f92e6a1be8
commit
0c6fe94cf4
@ -108,9 +108,6 @@ func TestLoadBalancerClass(t *testing.T) {
|
||||
{
|
||||
IP: "100.99.98.97",
|
||||
},
|
||||
{
|
||||
IP: "2c0a:8083:94d4:2012:3165:34a5:3616:5fdf",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -375,9 +372,6 @@ func TestAnnotationIntoLB(t *testing.T) {
|
||||
{
|
||||
IP: "100.99.98.97",
|
||||
},
|
||||
{
|
||||
IP: "2c0a:8083:94d4:2012:3165:34a5:3616:5fdf",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -467,9 +461,6 @@ func TestLBIntoAnnotation(t *testing.T) {
|
||||
{
|
||||
IP: "100.99.98.97",
|
||||
},
|
||||
{
|
||||
IP: "2c0a:8083:94d4:2012:3165:34a5:3616:5fdf",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -8,6 +8,7 @@
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"net/netip"
|
||||
"strings"
|
||||
|
||||
"go.uber.org/zap"
|
||||
@ -121,6 +122,11 @@ func (a *ServiceReconciler) maybeProvision(ctx context.Context, logger *zap.Suga
|
||||
tags = strings.Split(tstr, ",")
|
||||
}
|
||||
|
||||
clusterIPAddr, err := netip.ParseAddr(svc.Spec.ClusterIP)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to parse cluster IP: %w", err)
|
||||
}
|
||||
|
||||
sts := &tailscaleSTSConfig{
|
||||
ParentResourceName: svc.Name,
|
||||
ParentResourceUID: string(svc.UID),
|
||||
@ -158,7 +164,13 @@ func (a *ServiceReconciler) maybeProvision(ctx context.Context, logger *zap.Suga
|
||||
{Hostname: tsHost},
|
||||
}
|
||||
for _, ip := range tsIPs {
|
||||
ingress = append(ingress, corev1.LoadBalancerIngress{IP: ip})
|
||||
addr, err := netip.ParseAddr(ip)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
if addr.Is4() == clusterIPAddr.Is4() { // only add addresses of the same family
|
||||
ingress = append(ingress, corev1.LoadBalancerIngress{IP: ip})
|
||||
}
|
||||
}
|
||||
svc.Status.LoadBalancer.Ingress = ingress
|
||||
if err := a.Status().Update(ctx, svc); err != nil {
|
||||
|
Loading…
x
Reference in New Issue
Block a user