kubernetes/kops · error

error deleting pool: %v

Error message

error deleting pool: %v

What it means

Deleting an Octavia resource (this guard sits in the monitor/Pool deletion path) failed with a non-404 error after retry-with-backoff, e.g. the resource is in use or in a PENDING_* state that blocks deletion.

Source

Thrown at upup/pkg/fi/cloudup/openstack/loadbalancer.go:108

			err = wait.ErrWaitTimeout
		}
		return monitorList, err
	}
	return monitorList, nil
}

func (c *openstackCloud) DeleteMonitor(monitorID string) error {
	return deleteMonitor(c, monitorID)
}

func deleteMonitor(c OpenstackCloud, monitorID string) error {
	if c.LoadBalancerClient() == nil {
		return fmt.Errorf("loadbalancer support not available in this deployment")
	}
	done, err := vfs.RetryWithBackoff(deleteBackoff, func() (bool, error) {
		err := monitors.Delete(context.TODO(), c.LoadBalancerClient(), monitorID).ExtractErr()
		if err != nil && !isNotFound(err) {
			return false, fmt.Errorf("error deleting pool: %v", err)
		}
		if isNotFound(err) {
			return true, nil
		}
		return false, nil
	})
	if err != nil {
		return err
	} else if done {
		return nil
	} else {
		return wait.ErrWaitTimeout
	}
}

func (c *openstackCloud) DeletePool(poolID string) error {
	return deletePool(c, poolID)
}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Inspect the wrapped error for the blocking reason
  2. Ensure no listeners/loads reference the pool before deleting
  3. Retry after the resource leaves its pending state
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/openstack/loadbalancer.go:108 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/8433bd77d427e9b3. Report an issue: GitHub.