@@ -19,15 +19,13 @@ package scaleway
19
19
import (
20
20
"context"
21
21
"fmt"
22
- "net/http"
23
22
"os"
24
23
"strconv"
25
24
"strings"
26
25
"time"
27
26
28
27
scwlb "github.com/scaleway/scaleway-sdk-go/api/lb/v1"
29
28
"github.com/scaleway/scaleway-sdk-go/scw"
30
- "golang.org/x/xerrors"
31
29
v1 "k8s.io/api/core/v1"
32
30
"k8s.io/klog"
33
31
)
@@ -312,13 +310,8 @@ func (l *loadbalancers) deleteLoadBalancer(ctx context.Context, lb *scwlb.LB, se
312
310
313
311
err := l .api .DeleteLB (request )
314
312
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 )
322
315
}
323
316
324
317
return nil
@@ -375,13 +368,13 @@ func (l *loadbalancers) fetchLoadBalancer(ctx context.Context, clusterName strin
375
368
Region : region ,
376
369
})
377
370
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 :
380
373
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
381
377
}
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
385
378
}
386
379
387
380
return resp , nil
@@ -401,13 +394,12 @@ func (l *loadbalancers) getLoadbalancerByName(ctx context.Context, service *v1.S
401
394
Region : region ,
402
395
}, scw .WithAllPages ())
403
396
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
409
402
}
410
- return nil , err
411
403
}
412
404
413
405
for _ , lb := range resp .LBs {
@@ -482,12 +474,7 @@ func (l *loadbalancers) createLoadBalancer(ctx context.Context, clusterName stri
482
474
lb , err := l .api .CreateLB (& request )
483
475
if err != nil {
484
476
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 )
491
478
}
492
479
493
480
// annotate newly created loadBalancer
@@ -528,12 +515,7 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
528
515
}, scw .WithAllPages ())
529
516
530
517
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 )
537
519
}
538
520
539
521
frontends := respFrontends .Frontends
@@ -558,12 +540,7 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
558
540
})
559
541
560
542
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 )
567
544
}
568
545
} else {
569
546
portFrontends [frontend .InboundPort ] = frontend
@@ -576,12 +553,7 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
576
553
}, scw .WithAllPages ())
577
554
578
555
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 )
585
557
}
586
558
587
559
backends := respBackends .Backends
@@ -604,12 +576,7 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
604
576
})
605
577
606
578
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 )
613
580
}
614
581
} else {
615
582
portBackends [backend .ForwardPort ] = backend
@@ -629,13 +596,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
629
596
updateBackendRequest .ForwardPort = port .NodePort
630
597
_ , err = l .api .UpdateBackend (updateBackendRequest )
631
598
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 )
639
601
}
640
602
641
603
updateHealthCheckRequest , err := l .makeUpdateHealthCheckRequest (backend , port .NodePort , service , nodes )
@@ -646,13 +608,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
646
608
647
609
_ , err = l .api .UpdateHealthCheck (updateHealthCheckRequest )
648
610
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 )
656
613
}
657
614
658
615
var serverIPs []string
@@ -669,12 +626,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
669
626
670
627
respBackend , err := l .api .SetBackendServers (setBackendServersRequest )
671
628
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 )
678
631
}
679
632
680
633
portBackends [backend .ForwardPort ] = respBackend
@@ -687,12 +640,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
687
640
688
641
respBackend , err := l .api .CreateBackend (request )
689
642
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 )
696
645
}
697
646
698
647
portBackends [port .NodePort ] = respBackend
@@ -712,12 +661,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
712
661
})
713
662
714
663
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 )
721
666
}
722
667
723
668
frontendID = frontend .ID
@@ -732,12 +677,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
732
677
})
733
678
734
679
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 )
741
682
}
742
683
743
684
frontendID = resp .ID
@@ -818,12 +759,8 @@ func (l *loadbalancers) updateLoadBalancer(ctx context.Context, loadbalancer *sc
818
759
Type : loadBalancerType ,
819
760
})
820
761
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 )
827
764
}
828
765
}
829
766
0 commit comments