Conversation
|
Oh! Some failure in a mock; If it's useful, a nice trick to make those satisfy the interface (for methods that won't be called) is to embed the actual interface; type fakeSomething {
somepackage.TheInterface
}
func (foo fakeSomething) SomeMethod() {
}
// .. etcAlso some other minor linting failures; |
8c63648 to
48e341a
Compare
53d04b9 to
a106bff
Compare
58d1248 to
fb3217e
Compare
| if opts.Platform != nil { | ||
| os = opts.Platform.OS | ||
| } | ||
| if !system.IsOSSupported(os) { |
There was a problem hiding this comment.
Some discussion on this in rumpl#135 (review) that we should move over here to get more eyes/opinions.
The short version is that OS checks here are probably to prevent us from pulling/unpacking/trying to run Windows images on Linux, because they now pull and even unpack successfully, but will fail to run. The inverse is true on Windows (something something LCOW), except there the Linux images might even fail to unpack, and the Windows images are enormous so the pain is much more acute on Linux.
With runtimes like WASM, this becomes problematic and we do want to pull and even run non-matching images. IMO, this needs some larger design changes in the engine to support fully (some way to specify a default-runtime-per-platform or something?) but it is an interesting problem to consider in general that the pulling/resolving logic needs to be somehow aware of what's possible to run (more than just OS+arch+variant).
fb3217e to
d6b1b3e
Compare
|
@laurazard 🙈 needs a rebase |
a667438 to
a06a139
Compare
|
In playing with this a bit, one (not at all unexpected!) quirk is that all the intermediate images of a build show up in Do you think there's some way we could store the data reasonably such that Essentially if it's both dangling and has children, it should hide; probably too expensive of a calculation since we're not storing explicit relationships? To be clear, I don't think this is a blocker in the slightest. |
| } | ||
| } | ||
|
|
||
| children, err := ic.c.Children(ctx, parent.ID()) |
There was a problem hiding this comment.
Apologies for not already knowing (or knowing exactly where to look 🙈), but is this call already returning results in "reverse created" order such that we make sure the "freshest" cache is considered first? 😅
There was a problem hiding this comment.
Aha, nope:
moby/daemon/containerd/image_children.go
Lines 17 to 82 in 563fc92
So we probably need a similar TODO like this one?
moby/daemon/containerd/image_list.go
Line 39 in 563fc92
Co-authored-by: Djordje Lukic <djordje.lukic@docker.com> Signed-off-by: Laura Brehm <laurabrehm@hey.com>
a06a139 to
7749c74
Compare
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
7749c74 to
bd68685
Compare
thaJeztah
left a comment
There was a problem hiding this comment.
LGTM
we discussed this, and as it doesn't impact non-containerd code, we'd like to get this in and have a wider range of users give it a spin.

- What I did
Made the classic builder work with the containerd store
- How I did it
- How to verify it
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)