kubernetes/kops · error
Failed to list loadbalancer listeners for name %s: %v
Error message
Failed to list loadbalancer listeners for name %s: %v
What it means
Listing Octavia listeners filtered by ID and name failed at the API level during listener task discovery. The wrapped error carries the concrete API failure.
Source
Thrown at upup/pkg/fi/cloudup/openstacktasks/lblistener.go:113
find.ID = listenerTask.ID
find.Name = listenerTask.Name
find.Pool = listenerTask.Pool
}
return listenerTask, nil
}
func (s *LBListener) Find(context *fi.CloudupContext) (*LBListener, error) {
if s.Name == nil {
return nil, nil
}
cloud := context.T.Cloud.(openstack.OpenstackCloud)
listenerList, err := cloud.ListListeners(listeners.ListOpts{
ID: fi.ValueOf(s.ID),
Name: fi.ValueOf(s.Name),
})
if err != nil {
return nil, fmt.Errorf("Failed to list loadbalancer listeners for name %s: %v", fi.ValueOf(s.Name), err)
}
if len(listenerList) == 0 {
return nil, nil
}
if len(listenerList) > 1 {
return nil, fmt.Errorf("Multiple listeners found with name %s", fi.ValueOf(s.Name))
}
return NewLBListenerTaskFromCloud(cloud, s.Lifecycle, &listenerList[0], s)
}
func (s *LBListener) Run(context *fi.CloudupContext) error {
return fi.CloudupDefaultDeltaRunMethod(s, context)
}
func (_ *LBListener) CheckChanges(a, e, changes *LBListener) error {
if a == nil {
if e.Name == nil {View on GitHub (pinned to 4c8573c808)
Defensive patterns
Strategy: retry
Validate before calling
// Pre-flight: can this credential list Octavia listeners at all?
openstack loadbalancer listener list >/dev/null || { echo 'octavia API unreachable'; exit 1; } Try / catch
listenerList, err := cloud.ListListeners(listeners.ListOpts{...})
if err != nil {
var gerr gophercloud.ErrUnexpectedResponseCode
if errors.As(err, &gerr) && (gerr.StatusCode == 429 || gerr.StatusCode >= 500 || gerr.StatusCode == 401) {
// 401: refresh token then retry; 5xx/429: backoff
return nil, retry.After(backoff, err)
}
return nil, fmt.Errorf("Failed to list loadbalancer listeners for name %s: %w", name, err)
} Prevention
- Confirm the octavia service/endpoint exists in the target region before provisioning
- Refresh OpenStack credentials (tokens expire) before long update runs
- Check network reachability to the load-balancer endpoint from the machine running kops
When it happens
Trigger: `kops update cluster`/`kops get` on a cluster where the Octavia listener list API returns an error — Octavia endpoint unreachable, 403 on the lbaas API, auth token expired, or catalog missing the octavia service.
Common situations: Octavia not deployed in the cloud/region (no endpoint for load-balancer service); expired OpenStack credentials; network/firewall blocking the API; wrong OS_* region configured.
Related errors
- error deleting listener: %v
- error deleting loadbalancer: %v
- error creating loadbalancer: %v
- failed to list loadbalancers: %s
- failed to list members: %v
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/b8dc48eacc91e159.
Report an issue: GitHub.