kubernetes/kops · error

error setting the IP addresses type: %v

Error message

error setting the IP addresses type: %v

What it means

SetIpAddressType failed while changing an existing NLB's IP address type (e.g. ipv4 ↔ dualstack); AWS rejects the switch when subnets lack IPv6 support or the LB is in a transitional state.

Source

Thrown at upup/pkg/fi/cloudup/awstasks/network_load_balancer.go:562

				Names: []string{loadBalancerName},
			}

			err := elbv2.NewLoadBalancerAvailableWaiter(t.Cloud.ELBV2()).Wait(ctx, request, 15*time.Minute)
			if err != nil {
				return fmt.Errorf("error waiting for NLB %q: %w", loadBalancerName, err)
			}
		}

	} else {
		loadBalancerArn = a.loadBalancerArn

		if len(changes.IpAddressType) > 0 {
			request := &elbv2.SetIpAddressTypeInput{
				IpAddressType:   e.IpAddressType,
				LoadBalancerArn: &loadBalancerArn,
			}
			if _, err := t.Cloud.ELBV2().SetIpAddressType(ctx, request); err != nil {
				return fmt.Errorf("error setting the IP addresses type: %v", err)
			}
		}

		if changes.SubnetMappings != nil {
			actualSubnets := make(map[string]*string)
			for _, s := range a.SubnetMappings {
				// actualSubnets[*s.Subnet.ID] = s
				if s.AllocationID != nil {
					actualSubnets[*s.Subnet.ID] = s.AllocationID
				}
				if s.PrivateIPv4Address != nil {
					actualSubnets[*s.Subnet.ID] = s.PrivateIPv4Address
				}
			}

			var awsSubnetMappings []elbv2types.SubnetMapping
			hasChanges := false
			for _, s := range e.SubnetMappings {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Ensure the spec's subnets are dualstack-capable before requesting dualstack
  2. Retry after the NLB reaches an active state
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/awstasks/network_load_balancer.go:562 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/16790a1426d8b140. Report an issue: GitHub.