From b5704e262357f27c6767bbde1ddfd5bb54e65cdc Mon Sep 17 00:00:00 2001 From: Derek Nola Date: Thu, 10 Apr 2025 12:23:28 -0700 Subject: [PATCH] Address slow arm docker node startup Signed-off-by: Derek Nola --- tests/docker/test-helpers.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tests/docker/test-helpers.go b/tests/docker/test-helpers.go index 0ab4c934ab..83fb40a046 100644 --- a/tests/docker/test-helpers.go +++ b/tests/docker/test-helpers.go @@ -483,8 +483,20 @@ func (config *TestConfig) CopyAndModifyKubeconfig() error { } } - cmd := fmt.Sprintf("docker cp %s:/etc/rancher/k3s/k3s.yaml %s/kubeconfig.yaml", config.Servers[serverID].Name, config.TestDir) - if _, err := RunCommand(cmd); err != nil { + // Try twice with a 10s delay between attempts, this is flaky on the arm drone runner + var err error + var cmd string + for i := 1; i <= 2; i++ { + cmd = fmt.Sprintf("docker cp %s:/etc/rancher/k3s/k3s.yaml %s/kubeconfig.yaml", config.Servers[serverID].Name, config.TestDir) + _, err = RunCommand(cmd) + if err != nil { + fmt.Printf("Failed to copy kubeconfig, attempt %d: %v\n", i, err) + time.Sleep(10 * time.Second) + } else { + break + } + } + if err != nil { return fmt.Errorf("failed to copy kubeconfig: %v", err) }