Add amd64->386 fallback#4528
Conversation
|
Build succeeded.
|
|
I'm digging into the integration test failure on Lines 83 to 136 in d4e7820 Is someone willing to help me understand what the second half (after the (I imagine this test would also fail on master if run on an |
d99ff5a to
d0ce669
Compare
|
Build succeeded.
|
|
The source label test is just validating that the annotation with distribution source is working properly on pulls. That annotation is used to support cross-repo mount requests on push, if I remember correctly, so this test was added just to make sure that feature doesn't break if someone goes messing with pull handlers in the future and breaks the annotation handler. :) |
|
Thanks for the explainer, Phil! I think I managed to find the right fix (by using I'm not sure why openlab is failing, trying to dig into that one now. 😅 |
|
yup, your fix smells right to me 😂 it should only need to check one manifest, the one pulled, to make sure the labeling is working properly. |
|
I've looked into the openlab failure, and I can reproduce it on current master too: 😅 $ go test -v -run TestContent ./metadata/
=== RUN TestContent
=== RUN TestContent/Writer
--- FAIL: TestContent (0.01s)
--- FAIL: TestContent/Writer (0.01s)
panic: sha256 not available (make sure it is imported) [recovered]
panic: sha256 not available (make sure it is imported)
goroutine 20 [running]:
testing.tRunner.func1.1(0x8e3440, 0xc0000a1490)
/usr/local/go/src/testing/testing.go:1057 +0x30d
testing.tRunner.func1(0xc00008ad80)
/usr/local/go/src/testing/testing.go:1060 +0x41a
panic(0x8e3440, 0xc0000a1490)
/usr/local/go/src/runtime/panic.go:969 +0x175
github.com/opencontainers/go-digest.Algorithm.Hash(0x98aab6, 0x6, 0x0, 0xc000192c00)
/go/pkg/mod/github.com/opencontainers/[email protected]/algorithm.go:132 +0x1a5
github.com/opencontainers/go-digest.Algorithm.Digester(...)
/go/pkg/mod/github.com/opencontainers/[email protected]/algorithm.go:112
github.com/opencontainers/go-digest.Algorithm.FromBytes(0x98aab6, 0x6, 0xc000192c00, 0x100, 0x600, 0x600, 0x0)
/go/pkg/mod/github.com/opencontainers/[email protected]/algorithm.go:159 +0x39
github.com/opencontainers/go-digest.FromBytes(...)
/go/pkg/mod/github.com/opencontainers/[email protected]/digest.go:93
github.com/containerd/containerd/content/testsuite.createContent(0x100, 0x416025, 0x40e430, 0x28, 0x200, 0x140)
/wd/content/testsuite/testsuite.go:1086 +0x1d3
github.com/containerd/containerd/content/testsuite.checkContentStoreWriter(0xa24b20, 0xc00019e540, 0xc00008ad80, 0xa29660, 0xc0000e8e00)
/wd/content/testsuite/testsuite.go:147 +0x6a
github.com/containerd/containerd/content/testsuite.makeTest.func1(0xc00008ad80)
/wd/content/testsuite/testsuite.go:138 +0x431
testing.tRunner(0xc00008ad80, 0xc00019e1b0)
/usr/local/go/src/testing/testing.go:1108 +0xef
created by testing.(*T).Run
/usr/local/go/src/testing/testing.go:1159 +0x386
FAIL github.com/containerd/containerd/metadata 0.014s
FAIL |
d0ce669 to
f84bcfe
Compare
|
I adjusted the implementation a little in https://github.com/containerd/containerd/compare/d0ce6697179e59674e11911c7d697849379423bb..f84bcfe291aabf289b21d10cd37481e22cb5c7a1 to move the "platform vector" calculation into a separate function (which can then more easily be recursive later for handling |
|
Hmm, with my new implementation, Edit: removed for now -- happy to bring it back and adjust the approach if preferred 😄 |
|
Build succeeded.
|
f84bcfe to
af3ee43
Compare
|
Build succeeded.
|
af3ee43 to
c0f0b56
Compare
|
Build succeeded.
|
|
@dmcgowan ptal |
|
Ping, this needs a merge. |
|
(As always, I'll reiterate explicitly that I'm happy to discuss, adjust, rebase, amend, split, etc! 😇 ❤️ 👍) |
|
@dmcgowan @AkihiroSuda ptal 🤗 |
c0f0b56 to
2e2f7e3
Compare
|
Build succeeded.
|
Signed-off-by: Tianon Gravi <[email protected]>
2e2f7e3 to
5fa5f15
Compare
|
(I've just pushed a pure " |
|
Build succeeded.
|
|
This breaks downstream projects using this library. We need to create another function that preserves the old behavior. |
|
Opened #4943 |
This
adds a test foraddsplatforms.Only(previously untested, as far as I can tell), improves the hard-coded list of ARM fallbacks in theplatform.Onlyimplementation (by doing a descending loop over variant numbers instead, which is all the hard-coded list was doing), and386as a fallback architecture foramd64.I'd like to do something similar for
arm64(falling back tolinux/arm/v8,linux/arm/v7, etc, which I think would more accurately fix what was reported in #3990 and allow us to revert #4013), but figured I'd start with this and see what the interest in the approach is. ❤️