-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Upgrade to containerd 2 #5507
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to containerd 2 #5507
Conversation
a1ee378 to
11d49af
Compare
11d49af to
76ece75
Compare
dmcgowan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is ready to get in here and subsequently in moby/moby
be1f2f8 to
df0853e
Compare
|
Rebased to resolve conflicts. |
5fd22f1 to
8c7af4f
Compare
|
Needs rebase again |
9098dec to
04efbe7
Compare
|
@tonistiigi PTAL |
|
Needs rebase again 😥 |
04efbe7 to
486a301
Compare
|
Rebased again... |
| } | ||
|
|
||
| // #296 | ||
| func testSchema1Image(t *testing.T, sb integration.Sandbox) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reenable this test if schema1 is still supported. I'm not sure why library would check for env, but you can add it in integration pkg where it is running buildkitd if needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are issues with how rootless tests are run (via sudo that drops env).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can put env in the sudo args, or is it rootlesskit that drops? You can skip rootless if needed, or I guess you can just define this env in cmd/buildkitd/main. It is containerd env anyway so doesn't need to control buildkit (and should probably be in ctr in upstream and not in the library.
| google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect | ||
| gopkg.in/yaml.v3 v3.0.1 // indirect | ||
| kernel.org/pub/linux/libs/security/libcap/psx v1.2.70 // indirect | ||
| sigs.k8s.io/yaml v1.4.0 // indirect |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Talked with @dmcgowan and we should be able to get rid of these new yaml/cdi imports in a follow-up containerd update.
Schema v1 support will be removed in containerd-2.1. While we continue to support it when containerd is launched with CONTAINERD_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE=1 env variable, the effort to keep the test working isn't worth it. Signed-off-by: Marat Radchenko <[email protected]>
Co-authored-by: Derek McGowan <[email protected]> Signed-off-by: Marat Radchenko <[email protected]>
Signed-off-by: Tonis Tiigi <[email protected]>
486a301 to
654a5c0
Compare
tonistiigi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reenable schema1 test in follow-up
This PR depends on
Non-import changes:
unreleased commit because of containerd api changesv0.16.2go mod tidyExpiresInwas changed toExpiresInSecondsinauthprovider.gooverlay_linux.gomain_containerd_worker_windows.gotestUndeclaredArgindockerfile_lint_test.gotestSchema1Imagetest. It is very nontrivial to pushCONTAINERD_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE=1env variable from a single place to both rootful and rootless tests (if you know such place, tell me!). Schema v1 is going away in containerd 2.1 anyway. buildkit still supports in currently. If this change is unacceptable... Well, need more time to find where exactly to putCONTAINERD_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE=1in buildkit test framework.Closes #5514