kubernetes/kops · error

getting local network interfaces: %w

Error message

getting local network interfaces: %w

What it means

Wraps a failure of net.Interfaces() in the kube-apiserver builder on IPv6-only Equinix Metal clusters: the local network interfaces could not be enumerated to find an IPv6 address for the apiserver workaround.

Source

Thrown at nodeup/pkg/model/kube_apiserver.go:87

		kubeAPIServer = *b.NodeupConfig.APIServerConfig.KubeAPIServer
	}

	if b.CloudProvider() == kops.CloudProviderHetzner {
		localIP, err := b.GetMetadataLocalIP(c.Context())
		if err != nil {
			return err
		}
		if localIP != "" {
			kubeAPIServer.AdvertiseAddress = localIP
		}
	}

	if b.CloudProvider() == kops.CloudProviderMetal {
		// Workaround for https://github.com/kubernetes/kubernetes/issues/111671
		if b.IsIPv6Only() {
			interfaces, err := net.Interfaces()
			if err != nil {
				return fmt.Errorf("getting local network interfaces: %w", err)
			}
			var ipv6s []net.IP
			for _, intf := range interfaces {
				addresses, err := intf.Addrs()
				if err != nil {
					return fmt.Errorf("getting addresses for network interface %q: %w", intf.Name, err)
				}
				for _, addr := range addresses {
					ip, _, err := net.ParseCIDR(addr.String())
					if ip == nil {
						return fmt.Errorf("parsing ip address %q (bound to network %q): %w", addr.String(), intf.Name, err)
					}
					if ip.To4() != nil {
						// We're only looking for ipv6
						continue
					}
					if ip.IsLinkLocalUnicast() {
						klog.V(4).Infof("ignoring link-local unicast addr %v", addr)

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check /proc/net or netlink availability on the node
  2. Verify container/sandbox networking if nodeup runs containerized
  3. Re-run nodeup
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at nodeup/pkg/model/kube_apiserver.go:87 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/d7e84831155f9e98. Report an issue: GitHub.