@@ -421,16 +421,16 @@ func (r *Reconciler) reconcileFIP(
421421 // Get FIP
422422 var fip * floatingips.FloatingIP
423423 if fip , err = openstackhelper .GetFIPByID (ctx , fipClient , * lb .Status .FloatingID ); err != nil {
424- switch err .(type ) {
425- case gophercloud.ErrUnexpectedResponseCode , gophercloud.ErrResourceNotFound :
426- r .Log .Info ("fip not found in openstack" , "fip" , * lb .Status .FloatingID )
427- // fip not found by ID, remove it from status and trigger reconcile
428- if err := helper .RemoveFromLBStatus (ctx , r .Status (), lb , "floatingID" ); err != nil {
429- return false , fmt .Errorf ("failed to remove FIP from lb status: %w" , err )
424+ switch e := err .(type ) {
425+ case gophercloud.ErrUnexpectedResponseCode :
426+ code := e .GetStatusCode ()
427+ if code == 404 {
428+ return false , fmt .Errorf ("fip not found: %w" , err )
429+ } else {
430+ return false , fmt .Errorf ("unexpected gophercloud error occurred: %w" , err )
430431 }
431- return true , err
432432 default :
433- r .Log .Info ("unexpected error occurred" )
433+ r .Log .Info ("unexpected go error occurred" , "error: " , err )
434434 return false , kubernetes .SendErrorAsEvent (r .RecorderLB , err , lb )
435435 }
436436 }
@@ -497,7 +497,10 @@ func (r *Reconciler) assignOrCreateFIP(
497497 }
498498
499499 // try to find FIP by name
500- fip , _ = openstackhelper .GetFIPByName (ctx , fipClient , * lb .Status .FloatingName )
500+ fip , err = openstackhelper .GetFIPByName (ctx , fipClient , * lb .Status .FloatingName )
501+ if err != nil {
502+ r .Log .Error (err , "retrieving FIP by Name failed" )
503+ }
501504 if fip != nil {
502505 r .Log .Info ("Found FloatingIP by Name" , "lb" , lb .Name )
503506 return helper .PatchLBStatus (
0 commit comments