opencontainers / runtime-spec

OCI Runtime Specification

Home Page:http://www.opencontainers.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CLI defined in runtime.md should mirror that provided by the reference implementation (runc).

jamesodhunt opened this issue · comments

runtime.json specifies the expected command-line interface a runtime must provide. However, that minimal CLI does not match the (much more featureful) CLI provided by the reference implementation: runc.

Since (as of v1.11) runc is now used by docker (via containerd), it seems unlikely docker would want to remove functionality simply to align with runtime.md.

Note further that runc's CLI does not align with runtime.md either. The spec says runc should be invoked like this to start a container:

$runtime start <container-id> <path-to-bundle>

... and yet runc actually uses:

runc start [ -b bundle ] <container-id>

The spec states that a "stop" verb is required, but runc has none.

Please clarify what the full, required, runtime CLI should be as the current situation is confusing.

(Currently, I fear we're at the point that the implementation (runc) trumps the spec as defining expected behaviour given that to run under containerd requires a runtime to implement runc's vision of how it should be done, not what the spec [currently] says :-( ).

On Fri, May 13, 2016 at 10:10:07AM -0700, James Hunt wrote:

runtime.json specifies the expected command-line interface a runtime
must provide. However, that minimal CLI does not match the (much
more featureful) CLI provided by the reference implementation:
runc.

Those are hints, and are not a CLI specification 1. I had been
working on a command-line API with @mikebrow and @duglin [2,3], but
slowed down when 4 was declined in favor of #225's
built-in-state-registry requirement. I'm happy to start back up with
API-spec maintenance if there's renewed interest.

 Subject: Specifying the runtime's command-line interface
 Date: Tue, 18 Aug 2015 10:52:55 -0700
 Message-ID: <20150818175255.GV21585@odin.tremily.us>

#513 tagged as 1.0.0, so I'm tagging this issue 1.0.0 as well.

The decision in #513 is that the CLI is a requirement for testing, not for compliance. You can see more information on the linked PR.