Skip to content

Commit 10b6eba

Browse files
🌱 Look for different error code while deleting server of lb (#1631)
* look for different error code while deleting server of lb We no longer get the error `load_balancer_not_found` if the target server was not found, instead we should check for the error `invalid_input`. Signed-off-by: Dhairya Arora <[email protected]> * fixup! look for different error code while deleting server of lb * fixup! fixup! look for different error code while deleting server of lb * fixup! fixup! fixup! look for different error code while deleting server of lb --------- Signed-off-by: Dhairya Arora <[email protected]>
1 parent edcdcc5 commit 10b6eba

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

pkg/services/hcloud/server/server.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"context"
2222
"errors"
2323
"fmt"
24-
"strings"
2524
"time"
2625

2726
"github.com/hetznercloud/hcloud-go/v2/hcloud"
@@ -663,10 +662,15 @@ func (s *Service) deleteServerOfLoadBalancer(ctx context.Context, server *hcloud
663662
lb := &hcloud.LoadBalancer{ID: s.scope.HetznerCluster.Status.ControlPlaneLoadBalancer.ID}
664663

665664
if err := s.scope.HCloudClient.DeleteTargetServerOfLoadBalancer(ctx, lb, server); err != nil {
666-
// do not return an error in case the target was not found
667-
if strings.Contains(err.Error(), "load_balancer_target_not_found") {
665+
// Do not return an error in case the target server was not found.
666+
// In case the target server was not found we will get an error similar to
667+
// "server with ID xxxxx not found (invalid_input, xxxxxxx)".
668+
// If the load balancer itself was not found then we will get a "not_found" error.
669+
// In both cases, don't do anything.
670+
if hcloud.IsError(err, hcloud.ErrorCodeInvalidInput) || hcloud.IsError(err, hcloud.ErrorCodeNotFound) {
668671
return nil
669672
}
673+
670674
errMsg := fmt.Sprintf("failed to delete server %s with ID %d as target of load balancer %s with ID %d", server.Name, server.ID, lb.Name, lb.ID)
671675
return handleRateLimit(s.scope.HCloudMachine, err, "DeleteTargetServerOfLoadBalancer", errMsg)
672676
}

0 commit comments

Comments
 (0)