give ci more tollerance for timeouts
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
This commit is contained in:
parent
432e975a7f
commit
2434d76ade
5 changed files with 42 additions and 15 deletions
|
@ -16,11 +16,6 @@ var (
|
|||
Help: "The total amount of registered machine attempts",
|
||||
}, []string{"action", "auth", "status", "user"})
|
||||
|
||||
updateRequestsFromNode = promauto.NewCounterVec(prometheus.CounterOpts{
|
||||
Namespace: prometheusNamespace,
|
||||
Name: "update_request_from_node_total",
|
||||
Help: "The number of updates requested by a node/update function",
|
||||
}, []string{"user", "machine", "state"})
|
||||
updateRequestsSentToNode = promauto.NewCounterVec(prometheus.CounterOpts{
|
||||
Namespace: prometheusNamespace,
|
||||
Name: "update_request_sent_to_node_total",
|
||||
|
|
|
@ -9,7 +9,7 @@ import (
|
|||
"github.com/ory/dockertest/v3"
|
||||
)
|
||||
|
||||
const dockerExecuteTimeout = time.Second * 10
|
||||
const dockerExecuteTimeout = time.Second * 30
|
||||
|
||||
var (
|
||||
ErrDockertestCommandFailed = errors.New("dockertest command failed")
|
||||
|
|
|
@ -7,7 +7,6 @@ import (
|
|||
"net/netip"
|
||||
"os"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
v1 "github.com/juanfont/headscale/gen/go/headscale/v1"
|
||||
"github.com/juanfont/headscale/hscontrol/util"
|
||||
|
@ -21,7 +20,6 @@ import (
|
|||
|
||||
const (
|
||||
scenarioHashLength = 6
|
||||
maxWait = 60 * time.Second
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -130,7 +128,7 @@ func NewScenario() (*Scenario, error) {
|
|||
return nil, fmt.Errorf("could not connect to docker: %w", err)
|
||||
}
|
||||
|
||||
pool.MaxWait = maxWait
|
||||
pool.MaxWait = dockertestMaxWait()
|
||||
|
||||
networkName := fmt.Sprintf("hs-%s", hash)
|
||||
if overrideNetworkName := os.Getenv("HEADSCALE_TEST_NETWORK_NAME"); overrideNetworkName != "" {
|
||||
|
|
|
@ -25,6 +25,7 @@ const (
|
|||
defaultPingCount = 10
|
||||
dockerContextPath = "../."
|
||||
headscaleCertPath = "/usr/local/share/ca-certificates/headscale.crt"
|
||||
dockerExecuteTimeout = 60 * time.Second
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -361,7 +362,7 @@ func (t *TailscaleInContainer) Login(
|
|||
)
|
||||
}
|
||||
|
||||
if _, _, err := t.Execute(command); err != nil {
|
||||
if _, _, err := t.Execute(command, dockertestutil.ExecuteCommandTimeout(dockerExecuteTimeout)); err != nil {
|
||||
return fmt.Errorf(
|
||||
"%s failed to join tailscale client (%s): %w",
|
||||
t.hostname,
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package integration
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
@ -131,6 +132,38 @@ func isSelfClient(client TailscaleClient, addr string) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
func isCI() bool {
|
||||
if _, ok := os.LookupEnv("CI"); ok {
|
||||
return true
|
||||
}
|
||||
|
||||
if _, ok := os.LookupEnv("GITHUB_RUN_ID"); ok {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func dockertestMaxWait() time.Duration {
|
||||
wait := 60 * time.Second //nolint
|
||||
|
||||
if isCI() {
|
||||
wait = 300 * time.Second //nolint
|
||||
}
|
||||
|
||||
return wait
|
||||
}
|
||||
|
||||
// func dockertestCommandTimeout() time.Duration {
|
||||
// timeout := 10 * time.Second //nolint
|
||||
//
|
||||
// if isCI() {
|
||||
// timeout = 60 * time.Second //nolint
|
||||
// }
|
||||
//
|
||||
// return timeout
|
||||
// }
|
||||
|
||||
// pingAllNegativeHelper is intended to have 1 or more nodes timeing out from the ping,
|
||||
// it counts failures instead of successes.
|
||||
// func pingAllNegativeHelper(t *testing.T, clients []TailscaleClient, addrs []string) int {
|
||||
|
|
Loading…
Reference in a new issue