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
- Inspect the wrapped error for the blocking reason
- Ensure no listeners/loads reference the pool before deleting
- 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.