{"record":{"id":"f14d4b6d240d70d8","repo":"kubernetes/kops","slug":"failed-to-list-l3-floating-ip-v","errorCode":null,"errorMessage":"failed to list L3 floating ip: %v","messagePattern":"failed to list L3 floating ip: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/openstack/floatingip.go","lineNumber":78,"sourceCode":"\t})\n\tif !done {\n\t\tif err == nil {\n\t\t\terr = wait.ErrWaitTimeout\n\t\t}\n\t\treturn fip, err\n\t}\n\treturn fip, nil\n}\n\nfunc (c *openstackCloud) ListL3FloatingIPs(opts l3floatingip.ListOpts) (fips []l3floatingip.FloatingIP, err error) {\n\treturn listL3FloatingIPs(c, opts)\n}\n\nfunc listL3FloatingIPs(c OpenstackCloud, opts l3floatingip.ListOpts) (fips []l3floatingip.FloatingIP, err error) {\n\tdone, err := vfs.RetryWithBackoff(readBackoff, func() (bool, error) {\n\t\tpage, err := l3floatingip.List(c.NetworkingClient(), opts).AllPages(context.TODO())\n\t\tif err != nil {\n\t\t\treturn false, fmt.Errorf(\"failed to list L3 floating ip: %v\", err)\n\t\t}\n\t\tfips, err = l3floatingip.ExtractFloatingIPs(page)\n\t\tif err != nil {\n\t\t\treturn false, fmt.Errorf(\"failed to extract L3 floating ip: %v\", err)\n\t\t}\n\t\treturn true, nil\n\t})\n\tif !done {\n\t\tif err == nil {\n\t\t\terr = wait.ErrWaitTimeout\n\t\t}\n\t\treturn fips, err\n\t}\n\treturn fips, nil\n}\n\nfunc (c *openstackCloud) DeleteFloatingIP(id string) (err error) {\n\treturn deleteFloatingIP(c, id)","sourceCodeStart":60,"sourceCodeEnd":96,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/openstack/floatingip.go#L60-L96","documentation":"listL3FloatingIPs wraps the l3floatingip.List AllPages failure when enumerating Neutron layer-3 floating IPs. It fires when the list API call fails (auth, throttling, network) and is retried with backoff before surfacing.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/openstack/floatingip.go:78 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check Neutron API credentials and connectivity","Retry; the operation already runs inside RetryWithBackoff","Review list filter options if the query is rejected"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4c8573c808a73d578c5eadc86d410646ea0b0d73","analyzedAt":"2026-09-05T04:13:19.212Z","contentChangedAt":"2026-09-05T04:13:19.212Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}