kubernetes/kops · error
error deleting TargetPool %s: %v
Error message
error deleting TargetPool %s: %v
What it means
deleteTargetPool wraps the Compute TargetPools.Delete failure during teardown. NotFound is treated as already-deleted; any other error (dependency still in use, permission) is wrapped here with the target pool self-link for identification.
Source
Thrown at pkg/resources/gce/gce.go:444
}
func deleteTargetPool(cloud fi.Cloud, r *resources.Resource) error {
c := cloud.(gce.GCECloud)
t := r.Obj.(*compute.TargetPool)
klog.V(2).Infof("Deleting GCE TargetPool %s", t.SelfLink)
u, err := gce.ParseGoogleCloudURL(t.SelfLink)
if err != nil {
return err
}
op, err := c.Compute().TargetPools().Delete(u.Project, u.Region, u.Name)
if err != nil {
if gce.IsNotFound(err) {
klog.Infof("TargetPool not found, assuming deleted: %q", t.SelfLink)
return nil
}
return fmt.Errorf("error deleting TargetPool %s: %v", t.SelfLink, err)
}
return c.WaitForOp(op)
}
func (d *clusterDiscoveryGCE) listForwardingRules() ([]*resources.Resource, error) {
c := d.gceCloud
var resourceTrackers []*resources.Resource
ctx := context.Background()
frs, err := c.Compute().ForwardingRules().List(ctx, c.Project(), c.Region())
if err != nil {
return nil, fmt.Errorf("error listing ForwardingRules: %v", err)
}
for _, fr := range frs {View on GitHub (pinned to 4c8573c808)
Solutions
- Ensure forwarding rules referencing the target pool are deleted first, then retry
- Check compute.targetPools.delete permission
- Inspect the wrapped error for dependency violations
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at pkg/resources/gce/gce.go:444 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/29c6046ac1b7a068.
Report an issue: GitHub.