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

[19.03 backport] static: add containerd-shim-runc-v2 #504

Merged
merged 1 commit into from
Oct 13, 2020

Conversation

hakman
Copy link

@hakman hakman commented Oct 9, 2020

Follow-up to the discussion in #465 (comment).

Signed-off-by: Akihiro Suda akihiro.suda.cz@hco.ntt.co.jp
(cherry picked from commit 9120150)

containerd-shim-runc-v2 is used in cgroup v2 mode

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
(cherry picked from commit 9120150)
Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

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

Copy link
Contributor

@silvin-lubecki silvin-lubecki left a comment

Choose a reason for hiding this comment

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

LGTM

@silvin-lubecki silvin-lubecki merged commit fe470af into docker:19.03 Oct 13, 2020
@hakman
Copy link
Author

hakman commented Oct 13, 2020

Thanks everyone! :)

@hakman hakman deleted the containerd-shim-runc-v2 branch October 13, 2020 12:34
@hakman
Copy link
Author

hakman commented Nov 26, 2020

@thaJeztah any plans for one more 19.03 release before switching to 20.10?

@thaJeztah
Copy link
Member

Yes, there likely will be a patch release for 19.03 (there's some back ports in queue; https://github.com/moby/moby/pulls?q=is%3Apr+milestone%3A19.03.14). No date was set for that yet.

We also likely will have some overlap between 20.10 reaching GA, and 19.03 becoming EOL to allow for a smoother transition for users to upgrade; backporting will be more conservative during the overlap (limiting to "critical" and "security" fixes only)

@hakman
Copy link
Author

hakman commented Nov 26, 2020

Thanks a lot for the explanation. 19.03 is quite stable these days and is nice to see it supported for so long.

@hakman
Copy link
Author

hakman commented Dec 2, 2020

For some reason, I still can't find the containerd-shim-runc-v2 binary in the latest static package https://download.docker.com/linux/static/stable/x86_64/docker-19.03.14.tgz. Any thoughts on what happened?

@thaJeztah
Copy link
Member

Hmmm... I see the problem;

make[2]: Leaving directory '/home/ubuntu/workspace/docker-ce-packaging_PR-504/engine'
mkdir -p build/linux/docker
cp /home/ubuntu/workspace/docker-ce-packaging_PR-504/cli/build/docker build/linux/docker/
for f in dockerd containerd ctr containerd-shim containerd-shim-runc-v2 docker-init docker-proxy runc; do \
	cp -L /home/ubuntu/workspace/docker-ce-packaging_PR-504/engine/bundles/binary-daemon/$f build/linux/docker/$f; \
done
cp: cannot stat '/home/ubuntu/workspace/docker-ce-packaging_PR-504/engine/bundles/binary-daemon/containerd-shim-runc-v2': No such file or directory
tar -C build/linux -c -z -f build/linux/docker-0.0.0-20201006212710-233a6379e5.tgz docker
# extra binaries for running rootless
mkdir -p build/linux/docker-rootless-extras
for f in rootlesskit rootlesskit-docker-proxy dockerd-rootless.sh vpnkit; do \
	if [ -f /home/ubuntu/workspace/docker-ce-packaging_PR-504/engine/bundles/binary-daemon/$f ]; then \
		cp -L /home/ubuntu/workspace/docker-ce-packaging_PR-504/engine/bundles/binary-daemon/$f build/linux/docker-rootless-extras/$f; \
	fi \
done

Interestingly, make did not fail on that; looks like it may need something similar to moby/sys#19 (comment)

Looking at the "install" script used in the Dockerfile for 19.03; https://github.com/moby/moby/blob/v19.03.14/hack/dockerfile/install/containerd.installer#L33-L35

It does not have this patch; moby/moby#40658

@hakman
Copy link
Author

hakman commented Dec 2, 2020

Looks like I have to do a bit of testing and come back with another PR. Thanks @thaJeztah.

@thaJeztah
Copy link
Member

Let me open a PR to add .POSIX to the makefile

@thaJeztah
Copy link
Member

hmm.. just the .POSIX didn't help catch the failing copy; looking further, perhaps the .SHELLFLAGS = ... approach might still be needed.

@thaJeztah
Copy link
Member

Arf.. nevermind. It's because I was running on macOS, and GNU make on macOS is really old (3.81), and doesn't support these options 😞

@hakman
Copy link
Author

hakman commented Dec 2, 2020

Ahhh, right... I am always amazed by how old some dev tools can be on macOS.

@thaJeztah
Copy link
Member

I think it may have the same reason as it shipping an ancient version of Bash out of the box, which had to do with versions after that changing to GPLv3+

@thaJeztah
Copy link
Member

Anyway.. PR is up; #510 😅

@hakman
Copy link
Author

hakman commented Dec 2, 2020

Hehe, thanks! Was just looking at it. So, that should work on master, but when cherry-picked to 19.03, it should fail until the rest of the pieces are added, right?

@thaJeztah
Copy link
Member

Correct, yes; so doesn't fix the binary not being there, but at least makes the build fail in that case, so that it doesn't go unnoticed. Docker 19.03 itself does not depend on that binary, which is also why it didn't show up in other places.

In case it helps; if you're only looking for containerd, you can use the static packages for 20.10; those contain containerd v1.4.1 (not yet the latest 1.4.3 release); they're in the "test" channel as docker 20.10 is not yet GA, but the containerd binaries are non-beta releases (just happen to be only used by docker 20.10 at this moment, thus not yet in the "stable" channel); https://download.docker.com/linux/static/test/x86_64/

@hakman
Copy link
Author

hakman commented Dec 4, 2020

I kind of missed this comment @thaJeztah. Thanks a lot for the tip. Should really help with getting kOps released with some good ARM64 support for both Docker and containerd.

Not sure about this change though. As 19.03 will still be around, maybe it should either be reverted or the other dependencies added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants