From 172f315dad0a18466760dd87a522caa171e66e26 Mon Sep 17 00:00:00 2001 From: Marnix Bouhuis Date: Sat, 4 Jan 2025 23:43:15 +0100 Subject: [PATCH] Ignore link local addresses as these give issues during cluster bootstrapping --- pkg/cloud-controller-manager/instance.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/cloud-controller-manager/instance.go b/pkg/cloud-controller-manager/instance.go index 3d9b51d5..362f1ed0 100644 --- a/pkg/cloud-controller-manager/instance.go +++ b/pkg/cloud-controller-manager/instance.go @@ -19,6 +19,8 @@ import ( kubevirtv1 "kubevirt.io/api/core/v1" ) +var linkLocalIPv6Range = netip.MustParsePrefix("fe80::/10") + type instanceManager struct { vmClient ctlkubevirtv1.VirtualMachineClient vmiClient ctlkubevirtv1.VirtualMachineInstanceClient @@ -123,6 +125,11 @@ func getNodeAddresses(node *v1.Node, vmi *kubevirtv1.VirtualMachineInstance) ([] continue } + // Skip addresses in link local range, other nodes don't seem to be able to reach this address during cluster bootstrapping. + if ip.Is6() && linkLocalIPv6Range.Contains(ip) { + continue + } + // Determine if the IP should be listed as an internal or external IP. ipType := v1.NodeExternalIP for _, internalPrefix := range internalIPRanges {