ctr: implement CDI support#6204
Conversation
|
Hi @bart0sh. Thanks for your PR. I'm waiting for a containerd member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
Build succeeded.
|
|
I can't reproduce any of above CI failures locally. Can anybody point me out how to fix those? |
|
@bart0sh: GitHub didn't allow me to request PR reviews from the following users: kad, klihub. Note that only containerd members and repo collaborators can review this PR, and authors cannot review their own PRs. |
|
Please explain the goal and usage |
|
@AkihiroSuda done, please review. |
@bart0sh |
|
@AkihiroSuda We can, but it's much longer term plan, I'd say. |
|
@AkihiroSuda More details on this. Even if it's merged it would cover only CRI use case. Covering other types of clients (ctr, Docker, etc) would require even more work and there is no guarantee when/if it will be done. |
| }, | ||
| cli.StringSliceFlag{ | ||
| Name: "cdi", | ||
| Usage: "CDI device in the vendor.com/device=<device name> format to add to the container", |
There was a problem hiding this comment.
nitpick: The usage string seems to imply that the accepted CDI devices names are restricted to the format mentioned. However, I don't see this being checked in the code and AFAIK the current CDI implementation does not implement such a restriction either.
There was a problem hiding this comment.
It should be done by CDI in my opinion. I'll create an issue about it.
Isn't at least one of those failures related to cross-builds (darwin) not finding the newly added |
1f41629 to
8a77bcc
Compare
|
Build succeeded.
|
Moved it to the spec_opts_unix.go, but it didn't help for some reason. |
Yes, but now it fails on linux because |
The
We can easily extend ctr (and/or nerdctl) to support NRI. |
8a77bcc to
a504135
Compare
|
Merge Failed. This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset. |
a504135 to
5e80a68
Compare
|
Build succeeded.
|
5e80a68 to
8864a9c
Compare
|
Build succeeded.
|
Signed-off-by: Ed Bartosh <[email protected]>
8864a9c to
9855017
Compare
|
Build succeeded.
|
|
I didnt find any related issue in containerd to support CDI just this PR to comment so posting here. Just wanted to add a +1 for adding support for CDI in containerd. we have a use-case to inject RDMA [1] resources to containers to allow applications to use RDMA. |
Implement support of the Container Device Interface (CDI) in ctr.
CDI goal is to update device-related information (devices, mounts, hooks, environment variables etc) in the OCI spec from the JSON files provided by device vendors. That would allow workloads to access properly configured devices.
The plan is to have CDI support in at least containerd, cri-o and podman. It's already implemented in podman: containers/podman#10081
Here is a typical usage scenario: