kubernetes/kops · error
error deleting ForwardingRule %s: %v
Error message
error deleting ForwardingRule %s: %v
What it means
Fires in deleteForwardingRule when ForwardingRules().Delete fails with a non-NotFound error during teardown — a permissions, dependency (target pool still exists), or transient API failure. NotFound is already treated as deleted.
Source
Thrown at pkg/resources/gce/gce.go:512
func deleteForwardingRule(cloud fi.Cloud, r *resources.Resource) error {
ctx := context.TODO()
c := cloud.(gce.GCECloud)
t := r.Obj.(*compute.ForwardingRule)
klog.V(2).Infof("Deleting GCE ForwardingRule %s", t.SelfLink)
u, err := gce.ParseGoogleCloudURL(t.SelfLink)
if err != nil {
return err
}
op, err := c.Compute().ForwardingRules().Delete(ctx, u.Project, u.Region, u.Name)
if err != nil {
if gce.IsNotFound(err) {
klog.Infof("ForwardingRule not found, assuming deleted: %q", t.SelfLink)
return nil
}
return fmt.Errorf("error deleting ForwardingRule %s: %v", t.SelfLink, err)
}
return c.WaitForOp(op)
}
// listFirewallRules discovers Firewall objects for the cluster
func (d *clusterDiscoveryGCE) listFirewallRules() ([]*resources.Resource, error) {
c := d.gceCloud
var resourceTrackers []*resources.Resource
ctx := context.Background()
firewallRules, err := c.Compute().Firewalls().List(ctx, c.Project())
if err != nil {
return nil, fmt.Errorf("error listing FirewallRules: %v", err)
}
View on GitHub (pinned to 4c8573c808)
Solutions
- Check compute.forwardingRules.delete permission
- Delete dependent target pools first if a dependency error occurs, then retry
- Inspect the wrapped error for the specific GCE cause
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at pkg/resources/gce/gce.go:512 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/9c0d83ac9fe84e1f.
Report an issue: GitHub.