Files
Maksym Pavlenko be6ce30fce cri: join a sandbox without a process through its spec
A sandbox controller that reports pid 0 has no process whose
/proc/<pid>/ns entries a container could join and no pause container
whose shared files CRI created. Such a sandbox describes what it holds in
the spec it returns on start.

When the sandbox status reports pid 0, load that spec from the sandbox
store and use it in two places. The pod namespaces come from its
Linux.Namespaces: a namespace listed there is joined by path, one that is
missing is the host namespace when the pod asked for it and an error
otherwise, and a PID namespace entry without a path declares that each
container gets its own. The pod shared files (/etc/hostname, /etc/hosts,
/etc/resolv.conf, /dev/shm) are bind-mounted from the spec mount sources
when nothing exists at the fixed CRI paths, which keep precedence.

Sandboxes with a pid keep the pid derived construction unchanged, and so
do Sandbox API shims that report pid 0 without a Linux section in their
spec, so existing shims see no change.

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2026-11-02 09:45:09 -08:00
..
2026-09-15 15:07:43 -07:00
2026-07-23 09:57:59 -05:00
2026-09-17 10:47:55 +02:00
2026-11-02 09:45:09 -08:00
2024-03-20 11:05:25 +01:00
2026-09-02 18:51:15 +02:00