kubernetes/kops · error
failed to delete floating ip %s: %v
Error message
failed to delete floating ip %s: %v
What it means
deleteFloatingIP wraps the l3floatingip.Delete ExtractErr failure (via the compute client) when releasing a floating IP. NotFound is treated as success; any other API error fires this message and is retried with the delete backoff before surfacing.
Source
Thrown at upup/pkg/fi/cloudup/openstack/floatingip.go:103
})
if !done {
if err == nil {
err = wait.ErrWaitTimeout
}
return fips, err
}
return fips, nil
}
func (c *openstackCloud) DeleteFloatingIP(id string) (err error) {
return deleteFloatingIP(c, id)
}
func deleteFloatingIP(c OpenstackCloud, id string) (err error) {
done, err := vfs.RetryWithBackoff(deleteBackoff, func() (bool, error) {
err = l3floatingip.Delete(context.TODO(), c.ComputeClient(), id).ExtractErr()
if err != nil && !isNotFound(err) {
return false, fmt.Errorf("failed to delete floating ip %s: %v", id, err)
}
if isNotFound(err) {
return true, nil
}
return false, nil
})
if !done && err == nil {
err = wait.ErrWaitTimeout
}
return err
}
func (c *openstackCloud) DeleteL3FloatingIP(id string) (err error) {
return deleteL3FloatingIP(c, id)
}
func deleteL3FloatingIP(c OpenstackCloud, id string) (err error) {
done, err := vfs.RetryWithBackoff(writeBackoff, func() (bool, error) {View on GitHub (pinned to 4c8573c808)
Solutions
- Verify the floating IP ID and that it belongs to the project
- Check API credentials for the compute/network endpoints
- Retry; the operation already runs inside RetryWithBackoff
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstack/floatingip.go:103 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/4aa8a0648a72acd6.
Report an issue: GitHub.