From 2f4a84baffca5edb5451925fdb3147fcd0f3bdda Mon Sep 17 00:00:00 2001 From: Guillaume Tardif Date: Wed, 6 Jan 2021 11:05:05 +0100 Subject: [PATCH 1/2] Fixed assertion after retry due to ACI flakyness on prune Signed-off-by: Guillaume Tardif --- README.md | 1 + tests/aci-e2e/e2e-aci_test.go | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ef94c1677..5cc85cedc 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ or Microsoft Azure Container Instances using the Docker commands you already know. To get started, all you need is: + * An [AWS](https://aws.amazon.com) or [Azure](https://azure.microsoft.com) account * Windows: The Stable or Edge release of diff --git a/tests/aci-e2e/e2e-aci_test.go b/tests/aci-e2e/e2e-aci_test.go index 44f46128c..741ca9044 100644 --- a/tests/aci-e2e/e2e-aci_test.go +++ b/tests/aci-e2e/e2e-aci_test.go @@ -504,10 +504,13 @@ func TestContainerRunAttached(t *testing.T) { if strings.Contains(res.Stderr(), "unsupported protocol scheme") { //Flaky strange error on azure SDK call happening only during prune --force time.Sleep(1 * time.Second) res = c.RunDockerCmd("prune", "--force") + // After the retry, it seems prune has sometimes actually been executed, and we get zero thigs to delete again... + assert.Assert(t, res.Stdout() == "Deleted resources:\n"+container+"\nTotal CPUs reclaimed: 0.10, total memory reclaimed: 0.10 GB\n" || + res.Stdout() == "Deleted resources:\nTotal CPUs reclaimed: 0.00, total memory reclaimed: 0.00 GB\n", res.Stdout()) + } else { + assert.Equal(t, "Deleted resources:\n"+container+"\nTotal CPUs reclaimed: 0.10, total memory reclaimed: 0.10 GB\n", res.Stdout()) } - assert.Equal(t, "Deleted resources:\n"+container+"\nTotal CPUs reclaimed: 0.10, total memory reclaimed: 0.10 GB\n", res.Stdout()) - res = c.RunDockerCmd("ps", "--all") l = Lines(res.Stdout()) assert.Equal(t, 1, len(l)) From f3c017f5021efb11b6c1df31e67cc588f4b9dd41 Mon Sep 17 00:00:00 2001 From: Guillaume Tardif Date: Wed, 6 Jan 2021 11:13:22 +0100 Subject: [PATCH 2/2] Trying to address more ACI flakyness, on container restart Signed-off-by: Guillaume Tardif --- tests/aci-e2e/e2e-aci_test.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/aci-e2e/e2e-aci_test.go b/tests/aci-e2e/e2e-aci_test.go index 741ca9044..536ff7792 100644 --- a/tests/aci-e2e/e2e-aci_test.go +++ b/tests/aci-e2e/e2e-aci_test.go @@ -478,6 +478,11 @@ func TestContainerRunAttached(t *testing.T) { t.Run("restart container", func(t *testing.T) { res := c.RunDockerCmd("start", container) + //Flaky errors on restart : Code="ContainerGroupTransitioning" Message="The container group 'test-container' is still transitioning, please retry later." + if res.ExitCode != 0 && strings.Contains(res.Stderr(), `Code="ContainerGroupTransitioning"`) { + time.Sleep(3 * time.Second) + res = c.RunDockerCmd("start", container) + } res.Assert(t, icmd.Expected{Out: container}) waitForStatus(t, c, container, convert.StatusRunning) })