Repository navigation
docs/spec-conformance.md: document deviations - #5528
Conversation
|
Or, we can make |
| This branch of runc implements the [OCI Runtime Spec v1.3.0](https://github.com/opencontainers/runtime-spec/tree/v1.3.0) | ||
| for the `linux` platform. | ||
|
|
||
| ## Deviations |
There was a problem hiding this comment.
Can we amend the spec to match the actual implementation?
There was a problem hiding this comment.
There was a problem hiding this comment.
So, opencontainers/runtime-spec#1324 is merged and while the new wording is not yet in any released spec version, I think we can safely omit the fact that runc delete violates runtime-spec 1.3.0 by silently deleting created container (it was not documented anyway).
Commit removed.
3969f95 to
1e21f18
Compare
kolyshkin
left a comment
There was a problem hiding this comment.
(comment to trigger review-policy job)
The runtime spec says ociVersion is REQUIRED and MUST be in SemVer format, and a runtime must generate an error when encountering an invalid value. runc does not validate ociVersion at all, accepting a missing, empty, or invalid value, as well as a version with a different major. Document this deviation. Fixes opencontainers#1846. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
The runtime spec says that if umask is unspecified, it should not be changed from the calling process' umask. runc, though, sets the umask of the container init process to 0022 in this case (as it did before umask support was added, and as crun does, too). For runc exec, the umask is not changed. Document this deviation. Fixes opencontainers#3533. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
1e21f18 to
c3b18a8
Compare
kolyshkin
left a comment
There was a problem hiding this comment.
flake in CI; restarted
|
FWIW, checking the spec version and only allowing new features based on the spec version would've let us avoid the whole farce with |
Document the following deviations from the runtime spec in a new "Deviations" section:
ociVersionis not validated: runc accepts a missing, empty, or invalid (non-SemVer) value, as well as a version with a different major, while the runtime spec says it is REQUIRED, MUST be in SemVer format, and an invalid value must generate an error.Fixes runc does not error on ociVersion=invalid #1846.
If
umaskis not specified, runc sets the umask of the container init process to0022, while the runtime spec says it should be left unchanged from the calling process' umask (forrunc exec, it is left unchanged).Fixes Umask behavior doesn't match spec #3533.
Note that
runc deleteof a container in thecreatedstate is no longer listed, since the runtime spec now allows it (opencontainers/runtime-spec#1324). That should also fix #1774.