kubernetes/kops · error
Multiple load balancers for name %s
Error message
Multiple load balancers for name %s
What it means
More than one Octavia load balancer exists with the task's name. The name-to-LB mapping must be unique for discovery; duplicates usually come from manual LB creation or leftovers from a previous cluster with the same name.
Source
Thrown at upup/pkg/fi/cloudup/openstacktasks/lb.go:168
return nil, nil
}
cloud := context.T.Cloud.(openstack.OpenstackCloud)
lbPage, err := loadbalancers.List(cloud.LoadBalancerClient(), loadbalancers.ListOpts{
Name: fi.ValueOf(s.Name),
}).AllPages(context.Context())
if err != nil {
return nil, fmt.Errorf("Failed to retrieve loadbalancers for name %s: %v", fi.ValueOf(s.Name), err)
}
lbs, err := loadbalancers.ExtractLoadBalancers(lbPage)
if err != nil {
return nil, fmt.Errorf("Failed to extract loadbalancers : %v", err)
}
if len(lbs) == 0 {
return nil, nil
}
if len(lbs) > 1 {
return nil, fmt.Errorf("Multiple load balancers for name %s", fi.ValueOf(s.Name))
}
return NewLBTaskFromCloud(cloud, s.Lifecycle, &lbs[0], s)
}
func (s *LB) Run(context *fi.CloudupContext) error {
return fi.CloudupDefaultDeltaRunMethod(s, context)
}
func (_ *LB) CheckChanges(a, e, changes *LB) error {
if a == nil {
if e.Name == nil {
return fi.RequiredField("Name")
}
} else {
if changes.ID != nil {
return fi.CannotChangeField("ID")
}View on GitHub (pinned to 4c8573c808)
Solutions
- List load balancers with the name and identify duplicates
- Delete the stale load balancer
- Re-run discovery once the name is unique
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstacktasks/lb.go:168 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/8d1fc33a3600a130.
Report an issue: GitHub.