kubernetes/kops · error
failed to fetch floating ips for instance %v: %v
Error message
failed to fetch floating ips for instance %v: %v
What it means
Listing L3 floating IPs associated with the instance's port failed at the API level. The wrapped error identifies the Neutron failure; the lookup is needed to model the instance's floating IP attachment.
Source
Thrown at upup/pkg/fi/cloudup/openstacktasks/instance.go:233
if len(ports) == 1 {
port := ports[0]
porttask, err := newPortTaskFromCloud(cloud, e.Lifecycle, &port, nil)
if err != nil {
return nil, fmt.Errorf("failed to fetch port for instance %v: %v", server.ID, err)
}
actual.Port = porttask
} else if len(ports) > 1 {
return nil, fmt.Errorf("found more than one port for instance %v", server.ID)
}
if e.FloatingIP != nil && e.Port != nil {
fips, err := cloud.ListL3FloatingIPs(l3floatingip.ListOpts{
PortID: fi.ValueOf(e.Port.ID),
})
if err != nil {
return nil, fmt.Errorf("failed to fetch floating ips for instance %v: %v", server.ID, err)
}
if len(fips) == 1 {
fip := fips[0]
fipTask := &FloatingIP{
ID: new(fip.ID),
Name: new(fip.Description),
}
actual.FloatingIP = fipTask
} else if len(fips) > 1 {
return nil, fmt.Errorf("found more than one floating ip for instance %v", server.ID)
}
}
// Avoid flapping
e.ID = actual.ID
e.Status = new(activeStatus)View on GitHub (pinned to 4c8573c808)
Solutions
- Inspect the wrapped Neutron error
- Verify the networking API is reachable
- Retry after the failure clears
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstacktasks/instance.go:233 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/b833410b735585a2.
Report an issue: GitHub.