kubernetes/kops · error
error deleting router: %v
Error message
error deleting router: %v
What it means
The Neutron router delete call failed with a non-404 error (404 counts as deleted). Retried with backoff; common blockers are attached interfaces or ports that must be removed before router deletion.
Source
Thrown at upup/pkg/fi/cloudup/openstack/router.go:137
})
if err != nil {
return err
} else if done {
return nil
} else {
return wait.ErrWaitTimeout
}
}
func (c *openstackCloud) DeleteRouter(routerID string) error {
return deleteRouter(c, routerID)
}
func deleteRouter(c OpenstackCloud, routerID string) error {
done, err := vfs.RetryWithBackoff(deleteBackoff, func() (bool, error) {
err := routers.Delete(context.TODO(), c.NetworkingClient(), routerID).ExtractErr()
if err != nil && !isNotFound(err) {
return false, fmt.Errorf("error deleting router: %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
}
}
View on GitHub (pinned to 4c8573c808)
Solutions
- Remove all router interfaces and ports first
- Inspect the wrapped error for the blocking dependency
- Retry deletion once the router has no interfaces
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstack/router.go:137 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/730c424bebc2ecab.
Report an issue: GitHub.