cncf-tags / container-device-interface

Apache License 2.0
216 stars 39 forks source link

Why is the devices.annotations field in the SPEC not being used? #152

Closed Apokleos closed 5 months ago

Apokleos commented 1 year ago

Hi, @elezar For the CDI, I want to confirm that why the field devices.annotations in the SPEC is not being used? And there's no further explanation about it.

Thx.

zvonkok commented 1 year ago

Annotations are meta-information for other entities e.g. for the Kata runtime to deduce specific information that is not part of the device specification but related to Kata. It's consumed by other entities that leverage CDI.

Apokleos commented 1 year ago

Annotations are meta-information for other entities e.g. for the Kata runtime to deduce specific information that is not part of the device specification but related to Kata. It's consumed by other entities that leverage CDI.

Thx @zvonkok.

The devices.annotation, I mean, is in Device {.. Annotations map[string]string..}. The result as I test with containerd/cdi/kata, no annotations will be passed to kata runtime. And I have deep dive into the code of cdi and found that the annotations are not parsed in InjectDevices

elezar commented 1 year ago

There is no mapping from CDI annotations to mofications to the OCI Runtime specifications at a spec level. The annotations are there for specific CDI consumers -- such as Kata -- to make additional decisions when updating the OCI Runtime specifications but should not affect the spec modifications in general.

@zvonkok may be able to provide a more concrete example of where these are used in Kata specifically.

Apokleos commented 1 year ago

There is no mapping from CDI annotations to mofications to the OCI Runtime specifications at a spec level. The annotations are there for specific CDI consumers -- such as Kata -- to make additional decisions when updating the OCI Runtime specifications but should not affect the spec modifications in general.

@zvonkok may be able to provide a more concrete example of where these are used in Kata specifically.

OK, Thx. I‘m looking forward to learn examples provided by @zvonkok

Apokleos commented 1 year ago

Annotations are meta-information for other entities e.g. for the Kata runtime to deduce specific information that is not part of the device specification but related to Kata. It's consumed by other entities that leverage CDI.

Hi @zvonkok , I would like to learn more about CDI device.annotations in the case of Kata. In the example you provided, there are annotations set, but I am not clear how they are used and how they are passed to the VMM.

In addition, through the code that supports CDI in Kata, I found that device.annotations cannot be passed through the entire create container process. I hope I didn't misunderstand this part of the code. And, I'm not sure that isn't CDI called by containerd? Why the way for Kata to interact with CDI directly?

Cloud you please help me clarify this?

Thx.

github-actions[bot] commented 6 months ago

This issue is stale because it has been open 90 days with no activity. This issue will be closed in 30 days unless new comments are made or the stale label is removed.

github-actions[bot] commented 5 months ago

This issue was automatically closed due to inactivity.