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

Docker: replace the use of containerd_version with docker_containerd_version #8130

Conversation

cristicalin
Copy link
Contributor

@cristicalin cristicalin commented Oct 26, 2021

Avoid causing conflicts when bumping containerd_version when docker does not keep up with the latest containerd releases.

What type of PR is this?

/kind bug

What this PR does / why we need it:
With the change of using containerd from upstream instead of the docker repos, we are now able to move faster than docker for the containerd runtime but we want to avoid breaking the docker deployment experience when bumping our default containerd version. As such I split the containerd_version into a dedicated deployment variable called docker_containerd_version which is used when the containerd_manager == docker.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

[Docker] When using `containerd_manager==docker` (default config) you will now need to use `docker_containerd_version` to change the containerd version instead of the established `containerd_version`

…version to avoid causing conflicts when bumping containerd_version
@k8s-ci-robot k8s-ci-robot added kind/bug Categorizes issue or PR as related to a bug. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Oct 26, 2021
@k8s-ci-robot k8s-ci-robot requested review from EppO and jayonlau October 26, 2021 06:02
@floryut
Copy link
Member

floryut commented Oct 26, 2021

@cristicalin I'm not sure I get the idea here. If you are using docker then you can specify containerd_version to do exactly that; why introduce a new variable ?
Maybe clarify the doc to explain that containerd_version can be use when container manager is Docker, to change the containerd version deployed.

Edit: Ok this is linked to #8129 ? You want to be able to set containerd_version to 1.4.11 while keeping docker_containerd_version to 1.4.9 ?

@cristicalin
Copy link
Contributor Author

The problem comes from using containerd_version in the docker role which makes changing the default version tricky since the docker versions of containerd don't keep up with the versions from upstream containerd. In this case when we bump containerd_version to 1.4.11 or 1.5.7 for example, like I tried to do in #8129, the docker role breaks when running its molecule tests.

In addition to this, setting the containerd_version to something that only docker supports (like 1.4.5 version) and we don't have the hashes for, breaks the download role even if you only want to deploy using the docker engine. for this corner case I added the latest entry to our containerd_archive_checksums, which is something of an ugly hack.

Splitting the two types of containerd deployments makes more sense to me but I'm open to other suggestions to ensure we don't break either deployment type and are still able to keep up to date with the upstreams or each docker and containerd.

@cristicalin
Copy link
Contributor Author

@floryut

Edit: Ok this is linked to #8129 ? You want to be able to set containerd_version to 1.4.11 while keeping docker_containerd_version to 1.4.9 ?

That is the intention yes, explained in long form in the previous comment.

@cristicalin
Copy link
Contributor Author

@floryut @oomichi can we get this merged ?

Copy link
Member

@floryut floryut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@floryut @oomichi can we get this merged ?

Fine by me, sorry forgot this one 🙇

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cristicalin, floryut

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 8, 2021
@floryut floryut added kind/container-managers Containers section in the release note and removed kind/bug Categorizes issue or PR as related to a bug. labels Nov 8, 2021
@oomichi
Copy link
Contributor

oomichi commented Nov 8, 2021

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 8, 2021
@k8s-ci-robot k8s-ci-robot merged commit 4a87571 into kubernetes-sigs:master Nov 8, 2021
@floryut floryut mentioned this pull request Dec 21, 2021
sakuraiyuta pushed a commit to sakuraiyuta/kubespray that referenced this pull request Apr 16, 2022
…version to avoid causing conflicts when bumping containerd_version (kubernetes-sigs#8130)
LuckySB pushed a commit to southbridgeio/kubespray that referenced this pull request Jun 28, 2023
…version to avoid causing conflicts when bumping containerd_version (kubernetes-sigs#8130)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/container-managers Containers section in the release note lgtm "Looks good to me", indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants