{"record":{"id":"8f7548df70cfbfdd","repo":"kubernetes/kops","slug":"getfloatingip-fetching-floating-ip-s-failed","errorCode":null,"errorMessage":"GetFloatingIP: fetching floating IP (%s) failed: %v","messagePattern":"GetFloatingIP: fetching floating IP \\((.+?)\\) failed: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/openstack/floatingip.go","lineNumber":36,"sourceCode":"\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\tl3floatingip \"github.com/gophercloud/gophercloud/v2/openstack/networking/v2/extensions/layer3/floatingips\"\n\t\"k8s.io/apimachinery/pkg/util/wait\"\n\t\"k8s.io/kops/util/pkg/vfs\"\n)\n\nfunc (c *openstackCloud) GetL3FloatingIP(id string) (fip *l3floatingip.FloatingIP, err error) {\n\treturn getL3FloatingIP(c, id)\n}\n\nfunc getL3FloatingIP(c OpenstackCloud, id string) (fip *l3floatingip.FloatingIP, err error) {\n\tdone, err := vfs.RetryWithBackoff(readBackoff, func() (bool, error) {\n\t\tfip, err = l3floatingip.Get(context.TODO(), c.NetworkingClient(), id).Extract()\n\t\tif err != nil {\n\t\t\treturn false, fmt.Errorf(\"GetFloatingIP: fetching floating IP (%s) failed: %v\", id, 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 fip, err\n\t}\n\treturn fip, nil\n}\n\nfunc (c *openstackCloud) CreateL3FloatingIP(opts l3floatingip.CreateOpts) (fip *l3floatingip.FloatingIP, err error) {\n\treturn createL3FloatingIP(c, opts)\n}\n\nfunc createL3FloatingIP(c OpenstackCloud, opts l3floatingip.CreateOpts) (fip *l3floatingip.FloatingIP, err error) {\n\tdone, err := vfs.RetryWithBackoff(writeBackoff, func() (bool, error) {","sourceCodeStart":18,"sourceCodeEnd":54,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/openstack/floatingip.go#L18-L54","documentation":"getL3FloatingIP wraps the l3floatingip.Get Extract failure when fetching a Neutron layer-3 floating IP by ID. It fires when the Neutron API call fails (not found, auth, network) and is retried with backoff before surfacing.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/openstack/floatingip.go:36 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the floating IP ID exists in the project","Check Neutron API credentials and connectivity","Retry; the operation already runs inside RetryWithBackoff"],"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"}