{"record":{"id":"09112dbbe501fbc6","repo":"kubernetes/kops","slug":"failed-to-extract-l3-floating-ip-v","errorCode":null,"errorMessage":"failed to extract L3 floating ip: %v","messagePattern":"failed to extract L3 floating ip: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/openstack/floatingip.go","lineNumber":82,"sourceCode":"\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)\n}\n\nfunc deleteFloatingIP(c OpenstackCloud, id string) (err error) {\n\tdone, err := vfs.RetryWithBackoff(deleteBackoff, func() (bool, error) {","sourceCodeStart":64,"sourceCodeEnd":100,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/openstack/floatingip.go#L64-L100","documentation":"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.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/openstack/floatingip.go:82 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry; the operation already runs inside RetryWithBackoff","Check gophercloud/Neutron version compatibility","Inspect the wrapped error for response-format anomalies"],"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-12T07:17:12.445Z"}