kubernetes/kops · error
error creating NLB %q: found %d
Error message
error creating NLB %q: found %d
What it means
CreateLoadBalancer returned success but the response did not contain exactly one load balancer, so kOps cannot determine which NLB was created; treated as an invariant violation of the AWS API response rather than a user error.
Source
Thrown at upup/pkg/fi/cloudup/awstasks/network_load_balancer.go:529
request.SubnetMappings = append(request.SubnetMappings, elbv2types.SubnetMapping{
SubnetId: subnetMapping.Subnet.ID,
AllocationId: subnetMapping.AllocationID,
PrivateIPv4Address: subnetMapping.PrivateIPv4Address,
})
}
for _, sg := range e.SecurityGroups {
request.SecurityGroups = append(request.SecurityGroups, aws.ToString(sg.ID))
}
klog.V(2).Infof("Creating NLB %q", loadBalancerName)
response, err := t.Cloud.ELBV2().CreateLoadBalancer(ctx, request)
if err != nil {
return fmt.Errorf("error creating NLB %q: %w", loadBalancerName, err)
}
if len(response.LoadBalancers) != 1 {
return fmt.Errorf("error creating NLB %q: found %d", loadBalancerName, len(response.LoadBalancers))
}
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)View on GitHub (pinned to 4c8573c808)
Solutions
- Retry the operation — this reflects an unexpected AWS API response
- Open a kOps GitHub issue if it reproduces
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/awstasks/network_load_balancer.go:529 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/dc3f892aaa9cfd41.
Report an issue: GitHub.