kubernetes/kops · error
failed to extract L3 floating ip: %v
Error message
failed to extract L3 floating ip: %v
What it means
listL3FloatingIPs wraps the ExtractFloatingIPs failure after pages are fetched, i.e. the Neutron response could not be parsed into FloatingIP objects. It fires on malformed API responses and is retried with backoff.
Source
Thrown at upup/pkg/fi/cloudup/openstack/floatingip.go:82
}
return fip, err
}
return fip, nil
}
func (c *openstackCloud) ListL3FloatingIPs(opts l3floatingip.ListOpts) (fips []l3floatingip.FloatingIP, err error) {
return listL3FloatingIPs(c, opts)
}
func listL3FloatingIPs(c OpenstackCloud, opts l3floatingip.ListOpts) (fips []l3floatingip.FloatingIP, err error) {
done, err := vfs.RetryWithBackoff(readBackoff, func() (bool, error) {
page, err := l3floatingip.List(c.NetworkingClient(), opts).AllPages(context.TODO())
if err != nil {
return false, fmt.Errorf("failed to list L3 floating ip: %v", err)
}
fips, err = l3floatingip.ExtractFloatingIPs(page)
if err != nil {
return false, fmt.Errorf("failed to extract L3 floating ip: %v", err)
}
return true, nil
})
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) {View on GitHub (pinned to 4c8573c808)
Solutions
- Retry; the operation already runs inside RetryWithBackoff
- Check gophercloud/Neutron version compatibility
- Inspect the wrapped error for response-format anomalies
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstack/floatingip.go:82 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/09112dbbe501fbc6.
Report an issue: GitHub.