[kata-dev] Is Kata 2 OCI compilant?

Christophe de Dinechin dinechin at redhat.com
Wed Sep 1 09:30:34 UTC 2021


Team,


The question arose during an internal discussion at Red Hat, regarding support of Kata 2 with podman. The original question is, essentially, whether podman should learn about the shimv2 interface [1], or whether Kata should restore the missing command-line subcommands [2].

One of the arguments I hear coming from the podman side is that the current implementation of Kata is not OCI compliant because it does not obey the same commands as runc. The exact statement was:

> 	• The runc utility is the reference implementation of an OCI runtime specification. It reads an OCI bundle (json file and rootfs), then talks to the kernel and fires up containers in a consistent way based on what's inside that json file
> 	• The fact that runc is a command line utility *is* part of the OCI spec. 

I am not sure if this is true or not. When I look at the runtime specification [3] there is an explicit mention that this is not describing a command-line interface:

> Unless otherwise stated, runtimes MUST support the following operations.
> 
> Note: these operations are not specifying any command-line APIs, and the parameters are inputs for general operations.

WDYT? Is support for runc-like subcommands part of the OCI specification?

FWIW, I have a feeling that we probably need to reimplement the commands on our side, irrespective of the answer. "We broke it, we fix it" ;-)


[1]: https://github.com/containers/podman/issues/8579
[2]: https://github.com/kata-containers/kata-containers/issues/722
[3]: https://github.com/opencontainers/runtime-spec/blob/master/runtime.md




More information about the kata-dev mailing list