-
Notifications
You must be signed in to change notification settings - Fork 228
Detect available containerd-shim versions defaulting to legacy linux runtime #411
Conversation
ignite still not run out-of-the-box with docker's containerd somehow.
|
here's the docker's containerd config:
|
@chanwit Are we using the same We can write a heuristic by statting for commit containerd socket locations, but I'm curious how your system got configured with that path. Here's socket info from my systemd units on Ubuntu 19.04. find /etc/systemd/ | egrep 'docker|container' | xargs cat | grep /run
ListenStream=/var/run/docker.sock
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
apt list docker-ce
Listing... Done
docker-ce/disco,disco,now 5:19.03.2~3-0~ubuntu-disco amd64 [installed] |
21761c8
to
600f8eb
Compare
Note from what we have discussed. If we upgrade |
600f8eb
to
1a25536
Compare
Get blocked by preflight checks. Working on it. |
@stealthybox shim detection is working very well on my machine. I think this is ready to be merged. |
quick test with master build on linux:
should make it work ;) |
my patched version fails with:
|
Try running |
Okay, thank, that seems to have worked as another error is popping up ;)
|
containerd was the one from docker-ce packages. Fetched latest rc |
@morph027 I'm guessing you had The runc v1 and v2 shims are not normally present with that package version, and the v2 shim is not compatible. If you want to use the apt package for |
RE: #411 (comment) |
closes #390
/kind bug
Docker ships with containerd, but even the newest versions of
docker-ce
ship a version of containerd.io-1.2.6 that is lacking the matchingcontainerd-shim-runc-v1
binary forplugin.RuntimeRuncV1
.This client creation code calculates the matching binary names for our supported runtimes and attempts to do a fallback to the newest supported runtime by using the existence of that shim binary in the ignite-host's
PATH
as a heuristic for that runtime actually working.It also adds support for the upcoming
plugin.RuntimeRuncV2
which supports multiple containers per shim.This solves a bug where our previous hard-coded default of
RuncV1
causes ignite to fail to start a vm when using containerd packages that do not have the matching shim binary:When the heuristic fails, we consider this a non-fatal error -- containerd may be running with a different
PATH
and mount namespace.The U/X for that failure mode as of this patch looks like this:
Future Work: