e2e: Allow longer for AWS LoadBalancers to start serving traffic

When we create a LoadBalancer on AWS, there is a longer delay after
creating the LB before it starts to serve traffic than there is on GCE.
A delay of a few minutes is normal.

Use a longer timeout when waiting for the LB on AWS therefore.
This commit is contained in:
Justin Santa Barbara
2016-02-10 09:31:52 -05:00
parent a0093eb503
commit 46b89464fd
2 changed files with 14 additions and 1 deletions

View File

@@ -611,6 +611,10 @@ func migRollingUpdatePoll(id string, nt time.Duration) error {
}
func testLoadBalancerReachable(ingress api.LoadBalancerIngress, port int) bool {
loadBalancerLagTimeout := loadBalancerLagTimeoutDefault
if providerIs("aws") {
loadBalancerLagTimeout = loadBalancerLagTimeoutAWS
}
return testLoadBalancerReachableInTime(ingress, port, loadBalancerLagTimeout)
}

View File

@@ -48,7 +48,11 @@ import (
const kubeProxyLagTimeout = 5 * time.Minute
// Maximum time a load balancer is allowed to not respond after creation.
const loadBalancerLagTimeout = 2 * time.Minute
const loadBalancerLagTimeoutDefault = 2 * time.Minute
// On AWS there is a delay between ELB creation and serving traffic;
// a few minutes is typical, so use 10m.
const loadBalancerLagTimeoutAWS = 10 * time.Minute
// How long to wait for a load balancer to be created/modified.
//TODO: once support ticket 21807001 is resolved, reduce this timeout back to something reasonable
@@ -420,6 +424,11 @@ var _ = Describe("Services", func() {
loadBalancerSupportsUDP := !providerIs("aws")
loadBalancerLagTimeout := loadBalancerLagTimeoutDefault
if providerIs("aws") {
loadBalancerLagTimeout = loadBalancerLagTimeoutAWS
}
// This test is more monolithic than we'd like because LB turnup can be
// very slow, so we lumped all the tests into one LB lifecycle.