Merge pull request #1352 from docker/falky_aci_start_stop

ACI workaround invocation does not return, but container is actually running OK, trying to not block on this.
This commit is contained in:
Guillaume Tardif 2021-02-26 10:41:27 +01:00 committed by GitHub
commit 1118cebc02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 5 deletions

View File

@ -485,10 +485,14 @@ func TestContainerRunAttached(t *testing.T) {
time.Sleep(1 * time.Second)
c.RunDockerCmd("rm", "-f", container)
}
c.RunDockerCmd("run",
"--name", "fallback", // don't reuse the container name, this container is in a weird state and blocks everything
"--memory", "0.1G", "--cpus", "0.1",
"nginx")
go func() { // this specific call to run sometimes does not come back when in this weird state, but the container is actually running fine
c.RunDockerCmd("run",
"--name", container, // don't reuse the container name, this container is in a weird state and blocks everything
"--memory", "0.1G", "--cpus", "0.1",
"nginx")
fmt.Printf(" [%s] Finished docker run %s\n", t.Name(), container)
}()
waitForStatus(t, c, container, convert.StatusRunning)
} else {
res.Assert(t, icmd.Expected{Out: container})
waitForStatus(t, c, container, convert.StatusRunning)
@ -973,7 +977,10 @@ func getContainerName(stdout string) string {
func waitForStatus(t *testing.T, c *E2eCLI, containerID string, statuses ...string) {
checkStopped := func(logt poll.LogT) poll.Result {
res := c.RunDockerCmd("inspect", containerID)
res := c.RunDockerOrExitError("inspect", containerID)
if res.Error != nil {
return poll.Continue("Error while inspecting container %s: %s", containerID, res.Combined())
}
containerInspect, err := parseContainerInspect(res.Stdout())
assert.NilError(t, err)
for _, status := range statuses {