test: de-parallelize TestRunQuiet so it stops GC'ing the shared image#4998
Merged
AkihiroSuda merged 1 commit intoJun 25, 2026
Merged
Conversation
AkihiroSuda
reviewed
Jun 23, 2026
TestRunQuiet force-removes the shared CommonImage (== AlpineImage) in its setup and cleanup to exercise a fresh pull, but it ran in parallel. The containerd content store is global across namespaces, so that rmi GCs the Alpine layer blobs out from under concurrent tests mid-run, which then fail with "content digest <sha> not found" (observed in TestRunUmask). Mark TestRunQuiet NoParallel so it no longer races other tests using the shared image, instead of pulling the image in each consumer's setup. Signed-off-by: Mayur Das <mayur.das@neevcloud.com>
af83de3 to
490d284
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TestRunUmask was failing on the almalinux-8 rootless lane with:
The cause is TestRunQuiet: it
rmi -fs the shared CommonImage (== AlpineImage) in both setup and cleanup to exercise a fresh pull, but it runs in parallel. containerd's content store is global across namespaces, so that removal GCs the Alpine layer blobs out from under another test that is mid-runwith--pull missing— the manifest is still present so it skips the fetch, then cannot find the blob.Rather than pull the image in every consumer's setup, this marks TestRunQuiet NoParallel so it no longer races. That fixes it at the source for all tests sharing the image.