Skip to content
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

[RFE] publish containerd versions via flatcar_production_image_packages.txt #500

Closed
dongsupark opened this issue Sep 8, 2021 · 6 comments
Labels
kind/feature A feature request

Comments

@dongsupark
Copy link
Member

dongsupark commented Sep 8, 2021

Current situation

At the moment, there is no way to fetch a containerd version of a specific Flatcar version or channel. That is different from other packages like docker, which are easily available on both flatcar_production_image_packages.txt and the Flatcar releases website. It has been always like that since the beginning of torcx. It is one of the most confusing aspects of Flatcar.

Edit: Initial context was:

Recently that issue came up during a discussion in Cluster API image-builder, about how to specify containerd version for a specific Flatcar version. In the past the containerd version and its sha256 checksum were simply specified in Flatcar-specific config. However, the Flatcar-specific config was in the end removed by the PR, as wanted by image-builder maintainers. As a result, from now on, if the master branch of image-builder has a different containerd version from Flatcar, we need to specify environment variables before running hack/image-builder-flatcar.sh, like:

FLATCAR_CONTAINERD_VERSION=1.5.4 \
FLATCAR_CONTAINERD_SHA256=591e4e087ea2f5007e6c64deb382df58d419b7b6922eab45a1923d843d57615f \
./hack/build-image-flatcar.sh stable

Ideally the Flatcar containerd version and sha256 should be automatically generated according to the actual Flatcar channel.

What we need for that:

  • containerd version should be published via flatcar_production_image_packages.txt for each Flatcar version.
    • It might be doable by publishing a package manifest for the docker.torcx package .
  • (optional) the containerd version could be also published on the Flatcar release page.

Additional information

Related discussion: kubernetes-sigs/image-builder#670

@jepio
Copy link
Member

jepio commented Sep 10, 2021

So there is something i don't understand. Here's how I understand things:

  • image-builder does not install containerd on flatcar
  • the containerd version passed while building flatcar AMIs is only used to check the version contained within the OS

So what's the point of passing a containerd version at all? It would make sense to remove the containerd version related checks on Flatcar and rely on what's in the OS image.

What am I missing?

@pothos
Copy link
Member

pothos commented Sep 13, 2021

We talked about it today and suggest two things:

@jepio
Copy link
Member

jepio commented Sep 16, 2021

Found out it's slightly more involved: containerd is taken from the image but containerd-shim-runc is taken from an upstream tarball, that's why the version has to match. But Flatcar ships the container-shim-runc binaries already so it doesn't make sense.

Doing what @pothos wrote in the second bullet point will clear this up.

@pothos
Copy link
Member

pothos commented Sep 16, 2021

I don't have the clarity yet if there is a strong coupling of containerd and the rest that's put on the image or if Flatcar's inbuilt version is enough.

@pothos
Copy link
Member

pothos commented Sep 28, 2021

We filed a PR which implements the setup of the requested version in /opt.

Including the contained version in flatcar_production_image_packages.txt is still wanted and there are two options: remove torcx and install containerd directly to the image, or query the torcx package versions and append them to the package file.

@jepio
Copy link
Member

jepio commented Jan 28, 2022

Solved via flatcar/scripts#217. I'll close this as it trickles into stable channels.

@jepio jepio closed this as completed Jan 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature A feature request
Projects
None yet
Development

No branches or pull requests

3 participants