-
Notifications
You must be signed in to change notification settings - Fork 54
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
app-containers: switch to upstream docker, containerd, runc, bump docker to v24 #1305
Conversation
c0abe1a
to
1b698eb
Compare
1b698eb
to
76ead5b
Compare
sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords
Outdated
Show resolved
Hide resolved
sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-1.7.7.ebuild
Outdated
Show resolved
Hide resolved
49455db
to
13ab672
Compare
sdk_container/src/third_party/portage-stable/eclass/go-env.eclass
Outdated
Show resolved
Hide resolved
sdk_container/src/third_party/portage-stable/eclass/go-env.eclass
Outdated
Show resolved
Hide resolved
sdk_container/src/third_party/portage-stable/eclass/go-env.eclass
Outdated
Show resolved
Hide resolved
sdk_container/src/third_party/portage-stable/eclass/go-module.eclass
Outdated
Show resolved
Hide resolved
sdk_container/src/third_party/portage-stable/eclass/golang-vcs-snapshot.eclass
Outdated
Show resolved
Hide resolved
sdk_container/src/third_party/portage-stable/eclass/golang-vcs.eclass
Outdated
Show resolved
Hide resolved
Build action triggered: https://github.com/flatcar/scripts/actions/runs/6717733064 |
0db405f
to
a0322e0
Compare
Created flatcar/Flatcar#1223 to track the btrfs deprecation in docker 20 -> 24 and to run tests for gauging the fallout. Created flatcar/Flatcar#1222 and flatcar/mantle#474 to ensure we continue shipping the |
All tests succeeded. Good to merge? (Please also have a look at flatcar/mantle#474 ; it's not a requirement for this PR but a nice addition) |
Some thoughts without looking at the details:
|
I'm actually using the systemd unit from "our" ebuild (in https://github.com/flatcar/scripts/tree/t-lo/gentoo-upstream-containerd-docker/sdk_container/src/third_party/coreos-overlay/coreos/sysext/docker/usr/lib/systemd/system); it's added to the sysext via docker's manglefs script. Same for the containerd toml files - as far as I can tell, upstream Gentoo's containerd ebuild does not even ship any tomls.
Is there a test for that?
Absolutely, but I'd put that into a follow-up PR. Should be straightforward after this one gets merged, and could be part of the same release. |
This adds plain Gentoo upstream containerd ebuilds to coreos-overlay and copies containerd-1.7.6.ebuild to containerd-1.7.7.ebuild since upstream does not support 1.7.7 yet. Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
Co-authored-by: Krzesimir Nowak <knowak@microsoft.com> Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
These were for coreos-overlay. The packages have been moved to portage-stable and are now handled by the weekly package updates automation. Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
This change adds exporting CGO_* flags to go-env.eclass; the upstream pr gentoo/gentoo#33539 has been updated accordingly. Also, CGO_ENABLED=1 has been added to coreos/../make.conf to enable gco by default. This fixes a build issue for arm64 with Docker's device-mapper storage driver: daemon/graphdriver/devmapper/deviceset.go:306:25: undefined: devicemapper.SetTransactionID ... daemon/graphdriver/devmapper/deviceset.go:867:28: undefined: devicemapper.ErrEnxio daemon/graphdriver/devmapper/deviceset.go:867:28: too many errors gco is enabled on AMD64 by default, and cgo was always enabled in the coreos docker ebuilds. This way we retain that setting for the Gentoo ebuilds.
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
Temporary commit to use flatcar/mantle#475 for testing which ships the btrfs backwards compatibility test. Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
bd4f137
to
0476269
Compare
Rebased on latest main, restarted GH CI and Jenkins tests (and updated the test links in the summary). |
Both Github Actions and Jenkins CI are green once again. This now includes the docker brtfs storage update test: flatcar/mantle#475 ensuring that we won't break instances using btrfs storage when these update. |
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.
So the only thing left are mantle tests, right?
Yes - the most important one is the docker btrfs update test, the other one (devicemapper) is merged. Will wait for the open PR to be reviewed and merged, then update the mantle-container version in this PR before merging it. |
Updated the mantle ref to flatcar-master head; merging. |
This change removes Flatcar specific builds of docker[-cli], containerd, cri-tools, and runc and instead switches to upstream Gentoo ebuilds added to portage-stable.
The change updates docker to 24.0.6, and cri-tools to 1.27.0.
NOTE that there currently is no upstream ebuild for containerd-1.7.7, so this change adds that ebuild based on the upstream containerd-1.7.6 ebuild.
Flatcar customisations like systemd units etc. are now applied in the manglefs script of the respective sysexts, based on file system trees in
coreos-overlay/coreos/sysext/(containerd|docker)
.The build_sysext script has been extended by an option to strip all binaries in a sysext; the option is deactivated by default.
Lastly, the sysext command line syntax of build_image has been extended to allow specifying multiple packages for a sysext. This was necessary because docker-cli and docker do not have any runtime relationships and therefore must both be specified for installation to correctly mirror Flatcar's own docker packaging.
Closes flatcar/Flatcar#1091 .
Testing
Related PRs
Upstreaming