mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Work around small disk on Windows-RS5 CI nodes
The free disk space on the Windows RS5 CI nodes appears to be just the right size that the TestBuildWCOWSandboxSize test can generate 21GB of layers, and then a 21GB sandbox inside a container, and then runs out of space while committing the layer. Helpfully, this failure is distinguishable in the logs from a failure when the sandbox is too small, so we can do that. TODO: Revert this if-and-when the Windows-RS5 CI nodes have more free space. Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
This commit is contained in:
parent
db7b7f6df9
commit
695b151a18
1 changed files with 10 additions and 1 deletions
|
@ -560,7 +560,16 @@ COPY --from=intermediate C:\\stuff C:\\stuff
|
|||
_, err = io.Copy(out, resp.Body)
|
||||
resp.Body.Close()
|
||||
assert.NilError(t, err)
|
||||
assert.Check(t, is.Contains(out.String(), "Successfully built"))
|
||||
// The test passes if either:
|
||||
// - the image build succeeded; or
|
||||
// - The "COPY --from=intermediate" step ran out of space during re-exec'd writing of the transport layer information to hcsshim's temp directory
|
||||
// The latter case means we finished the COPY operation, so the sandbox must have been larger than 20GB, which was the test,
|
||||
// and _then_ ran out of space on the host during `importLayer` in the WindowsFilter graph driver, while committing the layer.
|
||||
// See https://github.com/moby/moby/pull/41636#issuecomment-723038517 for more details on the operations being done here.
|
||||
// Specifically, this happens on the Docker Jenkins CI Windows-RS5 build nodes.
|
||||
// The two parts of the acceptable-failure case are on different lines, so we need two regexp checks.
|
||||
assert.Check(t, is.Regexp("Successfully built|COPY --from=intermediate", out.String()))
|
||||
assert.Check(t, is.Regexp("Successfully built|re-exec error: exit status 1: output: write.*daemon\\\\\\\\tmp\\\\\\\\hcs.*bigfile_[1-3].txt: There is not enough space on the disk.", out.String()))
|
||||
}
|
||||
|
||||
func TestBuildWithEmptyDockerfile(t *testing.T) {
|
||||
|
|
Loading…
Reference in a new issue