Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

De-deprecate "runtime" #101

Closed
AkihiroSuda opened this issue Sep 14, 2020 · 10 comments · Fixed by #102
Closed

De-deprecate "runtime" #101

AkihiroSuda opened this issue Sep 14, 2020 · 10 comments · Fixed by #102
Labels
Approved 👍 Approved by community meeting Proposal 💡

Comments

@AkihiroSuda
Copy link
Contributor

What is the problem you're trying to solve
Allow using third party runtimes such as Kata Containers and gVisor

Describe the solution you'd like
Remove "DEPRECATED: this attribute is low-level platform implementation detail" from runtime: https://github.com/compose-spec/compose-spec/blob/master/spec.md#runtime

Additional context
runtime was ported from compose v2 and marked as "DEPRECATED" in ce585a8#diff-958e7270f96f5407d7d980f500805b1bR1193 (#78 )

Previous discussion: docker/compose#6239 (closed by the stale bot)

AkihiroSuda added a commit to AkihiroSuda/compose-spec that referenced this issue Sep 14, 2020
This field was ported from v2 and marked as deprecated in compose-spec#78,
but still useful for Kata and gVisor users.

Close compose-spec#101

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
@AkihiroSuda
Copy link
Contributor Author

PR: #102

@EricHripko
Copy link
Collaborator

From what I understand, the reasoning behind marking this as deprecated was because its a non-portable/low-level setting that is arguably better placed elsewhere rather than compose.yml. Given that this is attribute is still supported, what's the goal of de-deprecating this?

@AkihiroSuda
Copy link
Contributor Author

AkihiroSuda commented Sep 17, 2020

elsewhere

where?

Given that this is attribute is still supported, what's the goal of de-deprecating this?

The goal is to ensure it to be supported permanently

@EricHripko
Copy link
Collaborator

In the Compose implementation itself. Please also note that Compose implementations are not required to implement all the attributes. I think we can summon @ndeloof for additional context around this attribute.

@ndeloof
Copy link
Collaborator

ndeloof commented Sep 18, 2020

to ensure it to be supported permanently
supporting this attribute will be a decision by Compose implementations

The reason for deprecation is indeed that this exposes a low-level implementation detail that hardly make sense in a compose high-level application description.

The runtime attribute only exists to support legacy approach to enable Nvidia GPUs, which required to replace runc with a custom runtime. This is obsolete today with container hooks support in engine and --gpu option (see https://docs.docker.com/config/containers/resource_constraints/#gpu). Within compose file format, we are discussing a proposal to add GPU support here

@AkihiroSuda
Copy link
Contributor Author

This proposal is for supporting Kata and gVisor, not for supporting GPUs

@ndeloof
Copy link
Collaborator

ndeloof commented Sep 18, 2020

ok then
👍

@EricHripko
Copy link
Collaborator

Is this something that makes sense as a machine-wide setting? Cannot think off top of my head of an example where one would want to mix-and-match containers running using different runtimes (would this work at all?)

@AkihiroSuda
Copy link
Contributor Author

gVisor has non-trivial issues on performance and compatibility, so runtime: gvisor is mostly expected to set only for non-DB containers.

@EricHripko
Copy link
Collaborator

Thanks for sharing this insight 👍

@ndeloof ndeloof added the Approved 👍 Approved by community meeting label Sep 25, 2020
AkihiroSuda added a commit to AkihiroSuda/compose-spec that referenced this issue Oct 15, 2020
This field was ported from v2 and marked as deprecated in compose-spec#78,
but still useful for Kata and gVisor users.

Close compose-spec#101

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved 👍 Approved by community meeting Proposal 💡
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants