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

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


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/b8dc48eacc91e159. Report an issue: GitHub.