kubernetes/kops · error
error waiting for NLB %q: %w
Error message
error waiting for NLB %q: %w
What it means
The LoadBalancerAvailable waiter did not observe the NLB become active within 15 minutes; creation is unusually slow or stalled (service-linked roles, capacity, misconfigured listeners), and the waiter error is wrapped with %w.
Source
Thrown at upup/pkg/fi/cloudup/awstasks/network_load_balancer.go:549
lb := response.LoadBalancers[0]
e.DNSName = lb.DNSName
e.HostedZoneId = lb.CanonicalHostedZoneId
e.VPC = &VPC{ID: lb.VpcId}
loadBalancerArn = aws.ToString(lb.LoadBalancerArn)
e.loadBalancerArn = loadBalancerArn
e.revision = revision
}
if e.waitForLoadBalancerReady {
klog.Infof("Waiting for load balancer %q to be created...", loadBalancerName)
request := &elbv2.DescribeLoadBalancersInput{
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)View on GitHub (pinned to 4c8573c808)
Solutions
- Check the NLB's provisioning state and events in the AWS console
- Re-run `kops update`/apply once the LB is active or after removing the blocker
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/awstasks/network_load_balancer.go:549 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/12066373500518a6.
Report an issue: GitHub.