Skip to content

Commit 5763be2

Browse files
committed
e2e: export both GetLoadBalancerFromDNSNameWithRetry and WithTImeout
1 parent 8d8d299 commit 5763be2

2 files changed

Lines changed: 17 additions & 5 deletions

File tree

tests/e2e/helper_aws.go

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ import (
3434
"k8s.io/kubernetes/test/e2e/framework"
3535
)
3636

37+
const (
38+
DefaultRetryTimeoutMinutes = 20
39+
)
40+
3741
// awsHelper provides AWS API operations for e2e tests
3842
type E2ETestHelperAWS struct {
3943
ctx context.Context
@@ -161,7 +165,7 @@ func (h *E2ETestHelperAWS) GetELBV2Client() *elbv2.Client {
161165
// - Verify count matches number of worker nodes
162166
func (h *E2ETestHelperAWS) GetLBTargetCount(lbDNSName string, expectedTargets int) error {
163167
// Get Load Balancer ARN from DNS name
164-
foundLB, err := h.GetLoadBalancerFromDNSNameWithRetry(lbDNSName, 10*time.Minute)
168+
foundLB, err := h.GetLoadBalancerFromDNSNameWithRetry(lbDNSName)
165169
if err != nil {
166170
return fmt.Errorf("failed to get load balancer from DNS name: %v", err)
167171
}
@@ -244,9 +248,10 @@ func (h *E2ETestHelperAWS) GetLoadBalancerFromDNSName(lbDNSName string) (*elbv2t
244248
return foundLB, nil
245249
}
246250

247-
// GetLoadBalancerFromDNSNameWithRetry describes a load balancers filtered by DNS name with retry using
251+
// GetLoadBalancerFromDNSNameWithTimeout describes a load balancers filtered by DNS name with retry using
248252
// exponential backoff.
249-
func (h *E2ETestHelperAWS) GetLoadBalancerFromDNSNameWithRetry(lbDNSName string, timeout time.Duration) (*elbv2types.LoadBalancer, error) {
253+
// AWS API
254+
func (h *E2ETestHelperAWS) GetLoadBalancerFromDNSNameWithTimeout(lbDNSName string, timeout time.Duration) (*elbv2types.LoadBalancer, error) {
250255
var foundLB *elbv2types.LoadBalancer
251256

252257
ctx, cancel := context.WithTimeout(h.ctx, timeout)
@@ -275,3 +280,11 @@ func (h *E2ETestHelperAWS) GetLoadBalancerFromDNSNameWithRetry(lbDNSName string,
275280

276281
return foundLB, nil
277282
}
283+
284+
// GetLoadBalancerFromDNSNameWithRetry describes a load balancers filtered by DNS name with
285+
// default retry values.
286+
// The default timeout is 20 minutes based on the AWS API limits and different regions
287+
// where DNS propagation.
288+
func (h *E2ETestHelperAWS) GetLoadBalancerFromDNSNameWithRetry(lbDNSName string) (*elbv2types.LoadBalancer, error) {
289+
return h.GetLoadBalancerFromDNSNameWithTimeout(lbDNSName, DefaultRetryTimeoutMinutes*time.Minute)
290+
}

tests/e2e/loadbalancer.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import (
1717
"context"
1818
"fmt"
1919
"strings"
20-
"time"
2120

2221
. "github.com/onsi/ginkgo/v2"
2322
"github.com/onsi/gomega"
@@ -181,7 +180,7 @@ var _ = Describe("[cloud-provider-aws-e2e] loadbalancer", func() {
181180

182181
// DescribeLoadBalancers API doesn't support filtering by DNS name directly
183182
// Use AWS SDK paginator to search through all load balancers
184-
foundLB, err := e2e.GetAWSHelper().GetLoadBalancerFromDNSNameWithRetry(hostAddr, 10*time.Minute)
183+
foundLB, err := e2e.GetAWSHelper().GetLoadBalancerFromDNSNameWithRetry(hostAddr)
185184
if err != nil {
186185
e2e.GatherEventsOnFailure("Target Group Attributes Validation Failure")
187186
framework.Failf("failed to find load balancer with DNS name %s: %v", hostAddr, err)

0 commit comments

Comments
 (0)