@@ -19,15 +19,13 @@ package scaleway
1919import (
2020 "context"
2121 "fmt"
22- "net/http"
2322 "os"
2423 "strconv"
2524 "strings"
2625 "time"
2726
2827 scwlb "github.com/scaleway/scaleway-sdk-go/api/lb/v1"
2928 "github.com/scaleway/scaleway-sdk-go/scw"
30- "golang.org/x/xerrors"
3129 v1 "k8s.io/api/core/v1"
3230 "k8s.io/klog"
3331)
@@ -312,13 +310,8 @@ func (l *loadbalancers) deleteLoadBalancer(ctx context.Context, lb *scwlb.LB, se
312310
313311 err := l .api .DeleteLB (request )
314312 if err != nil {
315- klog .Errorf ("error creating load balancer: %v" , err )
316- var respErr * scw.ResponseError
317- if xerrors .As (err , & respErr ) {
318- return fmt .Errorf ("error on call DeleteLb with LbID %s: error %d with message %s" , lb .ID , respErr .StatusCode , respErr .Message )
319- }
320-
321- return err
313+ klog .Errorf ("error deleting load balancer %s: %v" , lb .ID , err )
314+ return fmt .Errorf ("error deleting load balancer %s: %v" , lb .ID , err )
322315 }
323316
324317 return nil
@@ -375,13 +368,13 @@ func (l *loadbalancers) fetchLoadBalancer(ctx context.Context, clusterName strin
375368 Region : region ,
376369 })
377370 if err != nil {
378- var respErr * scw. ResponseError
379- if xerrors . As ( err , & respErr ) && respErr . StatusCode == http . StatusNotFound {
371+ switch err .( type ) {
372+ case * scw. ResourceNotFoundError :
380373 return nil , LoadBalancerNotFound
374+ default :
375+ klog .Errorf ("an error occurred while fetching loadbalancer '%s/%s' for service '%s/%s'" , region , loadBalancerID , service .Namespace , service .Name )
376+ return nil , err
381377 }
382-
383- klog .Errorf ("an error occurred while fetching loadbalancer '%s/%s' for service '%s/%s'" , region , loadBalancerID , service .Namespace , service .Name )
384- return nil , err
385378 }
386379
387380 return resp , nil
@@ -401,13 +394,12 @@ func (l *loadbalancers) getLoadbalancerByName(ctx context.Context, service *v1.S
401394 Region : region ,
402395 }, scw .WithAllPages ())
403396 if err != nil {
404- var respErr * scw. ResponseError
405- if xerrors . As ( err , & respErr ) {
406- if respErr . StatusCode == 404 || respErr . StatusCode == 400 {
407- continue
408- }
397+ switch err .( type ) {
398+ case * scw. ResourceNotFoundError :
399+ continue
400+ default :
401+ return nil , err
409402 }
410- return nil , err
411403 }
412404
413405 for _ , lb := range resp .LBs {
@@ -482,12 +474,7 @@ func (l *loadbalancers) createLoadBalancer(ctx context.Context, clusterName stri
482474 lb , err := l .api .CreateLB (& request )
483475 if err != nil {
484476 klog .Errorf ("error creating load balancer for service %s: %v" , service .Name , err )
485- var respErr * scw.ResponseError
486- if xerrors .As (err , & respErr ) {
487- return nil , fmt .Errorf ("error on call CreateLb with name %s: error %d with message %s" , lbName , respErr .StatusCode , respErr .Message )
488- }
489-
490- return nil , fmt .Errorf ("error on call CreateLb with name %s: %s" , lbName , err .Error ())
477+ return nil , fmt .Errorf ("error creating load balancer for service %s: %v" , service .Name , err )
491478 }
492479
493480 // annotate newly created loadBalancer
@@ -528,12 +515,7 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
528515 }, scw .WithAllPages ())
529516
530517 if err != nil {
531- var respErr * scw.ResponseError
532- if xerrors .As (err , & respErr ) {
533- return fmt .Errorf ("error on call ListFrontends with LbID %s: error %d with message %s" , loadbalancer .ID , respErr .StatusCode , respErr .Message )
534- }
535-
536- return err
518+ return fmt .Errorf ("error updating load balancer %s: %v" , loadbalancer .ID , err )
537519 }
538520
539521 frontends := respFrontends .Frontends
@@ -558,12 +540,7 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
558540 })
559541
560542 if err != nil {
561- var respErr * scw.ResponseError
562- if xerrors .As (err , & respErr ) {
563- return fmt .Errorf ("error on call DeleteFrontend with FrontendID %s: error %d with message %s" , frontend .ID , respErr .StatusCode , respErr .Message )
564- }
565-
566- return err
543+ return fmt .Errorf ("error deleting frontend %s: %v" , frontend .ID , err )
567544 }
568545 } else {
569546 portFrontends [frontend .InboundPort ] = frontend
@@ -576,12 +553,7 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
576553 }, scw .WithAllPages ())
577554
578555 if err != nil {
579- var respErr * scw.ResponseError
580- if xerrors .As (err , & respErr ) {
581- return fmt .Errorf ("error on call ListBackends with LoadBalancerID %s: error %d with message %s" , loadbalancer .ID , respErr .StatusCode , respErr .Message )
582- }
583-
584- return err
556+ return fmt .Errorf ("error listing backend for load balancer %s: %v" , loadbalancer .ID , err )
585557 }
586558
587559 backends := respBackends .Backends
@@ -604,12 +576,7 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
604576 })
605577
606578 if err != nil {
607- var respErr * scw.ResponseError
608- if xerrors .As (err , & respErr ) {
609- return fmt .Errorf ("error on call DeleteBackend with BackendID %s: error %d with message %s" , backend .ID , respErr .StatusCode , respErr .Message )
610- }
611-
612- return err
579+ return fmt .Errorf ("error deleing backend %s: %v" , backend .ID , err )
613580 }
614581 } else {
615582 portBackends [backend .ForwardPort ] = backend
@@ -629,13 +596,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
629596 updateBackendRequest .ForwardPort = port .NodePort
630597 _ , err = l .api .UpdateBackend (updateBackendRequest )
631598 if err != nil {
632- klog .Errorf ("error updating backend: %v" , err )
633- var respErr * scw.ResponseError
634- if xerrors .As (err , & respErr ) {
635- return fmt .Errorf ("error on call UpdateBackend with BackendID %s: error %d with message %s" , backend .ID , respErr .StatusCode , respErr .Message )
636- }
637-
638- return err
599+ klog .Errorf ("error updating backend %s: %v" , backend .ID , err )
600+ return fmt .Errorf ("error updating backend %s: %v" , backend .ID , err )
639601 }
640602
641603 updateHealthCheckRequest , err := l .makeUpdateHealthCheckRequest (backend , port .NodePort , service , nodes )
@@ -646,13 +608,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
646608
647609 _ , err = l .api .UpdateHealthCheck (updateHealthCheckRequest )
648610 if err != nil {
649- klog .Errorf ("error updating healthcheck: %v" , err )
650- var respErr * scw.ResponseError
651- if xerrors .As (err , & respErr ) {
652- return fmt .Errorf ("error on call UpdateHealthCheck with BackendID %s: error %d with message %s" , backend .ID , respErr .StatusCode , respErr .Message )
653- }
654-
655- return err
611+ klog .Errorf ("error updating healthcheck for backend %s: %v" , backend .ID , err )
612+ return fmt .Errorf ("error updating healthcheck for backend %s: %v" , backend .ID , err )
656613 }
657614
658615 var serverIPs []string
@@ -669,12 +626,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
669626
670627 respBackend , err := l .api .SetBackendServers (setBackendServersRequest )
671628 if err != nil {
672- klog .Errorf ("error setting backend servers: %v" , err )
673- var respErr * scw.ResponseError
674- if xerrors .As (err , & respErr ) {
675- return fmt .Errorf ("error on call SetBackendServers with BackendID %s: error %d with message %s" , backend .ID , respErr .StatusCode , respErr .Message )
676- }
677- return err
629+ klog .Errorf ("error setting backend servers for backend %s: %v" , backend .ID , err )
630+ return fmt .Errorf ("error setting backend servers for backend %s: %v" , backend .ID , err )
678631 }
679632
680633 portBackends [backend .ForwardPort ] = respBackend
@@ -687,12 +640,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
687640
688641 respBackend , err := l .api .CreateBackend (request )
689642 if err != nil {
690- klog .Errorf ("error creating backend: %v" , err )
691- var respErr * scw.ResponseError
692- if xerrors .As (err , & respErr ) {
693- return fmt .Errorf ("error on call CreateBackend with LoadBalancerID %s: error %d with message %s" , loadbalancer .ID , respErr .StatusCode , respErr .Message )
694- }
695- return err
643+ klog .Errorf ("error creating backend on load balancer %s: %v" , loadbalancer .ID , err )
644+ return fmt .Errorf ("error creating backend on load balancer %s: %v" , loadbalancer .ID , err )
696645 }
697646
698647 portBackends [port .NodePort ] = respBackend
@@ -712,12 +661,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
712661 })
713662
714663 if err != nil {
715- klog .Errorf ("error updating frontend: %v" , err )
716- var respErr * scw.ResponseError
717- if xerrors .As (err , & respErr ) {
718- return fmt .Errorf ("error on call UpdateFrontend with FrontendID %s and Backend ID %s: error %d with message %s" , frontend .ID , portBackends [port .NodePort ].ID , respErr .StatusCode , respErr .Message )
719- }
720- return err
664+ klog .Errorf ("error updating frontend %s: %v" , frontend .ID , err )
665+ return fmt .Errorf ("error updating frontend %s: %v" , frontend .ID , err )
721666 }
722667
723668 frontendID = frontend .ID
@@ -732,12 +677,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
732677 })
733678
734679 if err != nil {
735- klog .Errorf ("error creating frontend: %v" , err )
736- var respErr * scw.ResponseError
737- if xerrors .As (err , & respErr ) {
738- return fmt .Errorf ("error on call CreateFronted with LbID %s and Backend ID %s: error %d with message %s" , loadbalancer .ID , portBackends [port .NodePort ].ID , respErr .StatusCode , respErr .Message )
739- }
740- return err
680+ klog .Errorf ("error creating frontend on load balancer %s: %v" , loadbalancer .ID , err )
681+ return fmt .Errorf ("error creating frontend on load balancer %s: %v" , loadbalancer .ID , err )
741682 }
742683
743684 frontendID = resp .ID
@@ -818,12 +759,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
818759 Type : loadBalancerType ,
819760 })
820761 if err != nil {
821- klog .Errorf ("error updating lb: %v" , err )
822- var respErr * scw.ResponseError
823- if xerrors .As (err , & respErr ) {
824- return fmt .Errorf ("Unable to migrate loadbalancer %s error %d with message %s" , loadbalancer .ID , respErr .StatusCode , respErr .Message )
825- }
826- return err
762+ klog .Errorf ("error updating load balancer %s: %v" , loadbalancer .ID , err )
763+ return fmt .Errorf ("error updating load balancer %s: %v" , loadbalancer .ID , err )
827764 }
828765 }
829766
0 commit comments