Subject: [bug#64910] [PATCH v2 0/3] gnu: docker: Update to 20.10.25.

From: Hilton Chain <[email-masked]>
Date: Fri, 11 Aug 2023 18:45:05 +0800

V1 -> V2:
  - [email-masked]
  - Fix containerd starting issue.

`make check-system TESTS=docker' passes.

Details on the issue:

Error message:
--8<---------------cut here---------------start------------->8---
msg="failed to load plugin io.containerd.grpc.v1.cri"
error="invalid plugin config: no corresponding runtime configured in `containerd.runtimes` for `containerd` `default_runtime_name` = \"/gnu/store/...-runc-1.1.9/sbin/runc\""
--8<---------------cut here---------------end--------------->8---

The message comes from pkg/cri/config/config.go:
--8<---------------cut here---------------start------------->8---
if _, ok := c.ContainerdConfig.Runtimes[c.ContainerdConfig.DefaultRuntimeName]; !ok {
	return fmt.Errorf("no corresponding runtime configured in `containerd.runtimes` for `containerd` `default_runtime_name = \"%s\"", c.ContainerdConfig.DefaultRuntimeName)
}
--8<---------------cut here---------------end--------------->8---

It expects there's `ContainerdConfig.DefaultRuntimeName' within
`ContainerdConfig.Runtimes'.

And from the relevant code in pkg/cri/config/config_unix.go and the
package definion, "runc" the `DefaultRuntimeName' was substituted to a
store path, but not "runc" in `Runtimes'.

So [...].Runtimes["/gnu/store/...-runc-1.1.9/sbin/runc"] fails.
--8<---------------cut here---------------start------------->8---
func DefaultConfig() PluginConfig {
	[...]
	return PluginConfig{
		[...]
		ContainerdConfig: ContainerdConfig{
			[...]
			DefaultRuntimeName: "runc",
			Runtimes: map[string]Runtime{
				"runc": {
					[...]
				},
			},
			[...]
		},
		[...]
	}
}
--8<---------------cut here---------------end--------------->8---

There's no functional change in those two files between 1.6.6 and
1.6.22, I wonder why this wasn't an issue before...

Thanks

Hilton Chain (3):
  gnu: runc: Update to 1.1.9.
  gnu: containerd: Update to 1.6.22.
  gnu: docker: Update to 20.10.25.

 gnu/packages/docker.scm         | 25 +++++++++++++++----------
 gnu/packages/virtualization.scm |  4 ++--
 2 files changed, 17 insertions(+), 12 deletions(-)

base-commit: ad4520b92662e42d7d0b1e648b2068300dbb95c8
--
2.41.0