wgengine/magicsock: increase legacy ping timeout again

I based my estimation of the required timeout based on locally
observed behavior. But CI machines are worse than my local machine.
16s was enough to reduce flakiness but not eliminate it. Bump it up again.

Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
This commit is contained in:
Josh Bleecher Snyder
2021-02-10 11:49:30 -08:00
committed by Josh Bleecher Snyder
parent 1ec64bc94d
commit 635e4c7435
2 changed files with 22 additions and 4 deletions

View File

@@ -44,6 +44,7 @@ import (
"tailscale.com/types/netmap"
"tailscale.com/types/nettype"
"tailscale.com/types/wgkey"
"tailscale.com/util/cibuild"
"tailscale.com/wgengine/filter"
"tailscale.com/wgengine/tstun"
"tailscale.com/wgengine/wgcfg"
@@ -929,10 +930,14 @@ func testTwoDevicePing(t *testing.T, d *devices) {
// In the normal case, pings succeed immediately.
// However, in the case of a handshake race, we need to retry.
// Typical retries take 5s. With very bad luck, we can need to retry
// multiple times. Give ourselves enough time for three retries
// plus a bit of processing time.
const pingTimeout = 16 * time.Second
// With very bad luck, we can need to retry multiple times.
allowedRetries := 3
if cibuild.On() {
// Allow extra retries on small/flaky/loaded CI machines.
allowedRetries *= 2
}
// Retries take 5s each. Add 1s for some processing time.
pingTimeout := 5*time.Second*time.Duration(allowedRetries) + time.Second
ping1 := func(t *testing.T) {
msg2to1 := tuntest.Ping(net.ParseIP("1.0.0.1"), net.ParseIP("1.0.0.2"))