container-device-interface icon indicating copy to clipboard operation
container-device-interface copied to clipboard

Add Windows Support for Devices

Open RenaudWasTaken opened this issue 4 years ago • 13 comments

From https://github.com/container-orchestrated-devices/container-device-interface/pull/27:

To support Windows we'd need to add Windows Device properties: ID and IDType, make Path optional and change oci.go code to detect OS type and use either LinuxDevice or WindowsDevice as a target.

This needs to be a followup PR

RenaudWasTaken avatar May 03 '21 18:05 RenaudWasTaken

cc @bart0sh

RenaudWasTaken avatar May 03 '21 18:05 RenaudWasTaken

There's significant overlap between the features of CDI and the Windows-built-in C:\Windows\system32\containers\devices.def and related files. There's a discussion of devices.def at https://github.com/kubernetes/kubernetes/issues/97739#issuecomment-767238485. I'm not sure how and where that file would support vendor-provided details though.

And worth noting from there:

especially because we're planning on moving away from relying on that file in favor of passing in those additional configurations as part of a container create call to HCS.

So CDI seems like it might be the right spec to use to define "those additional configurations", which would also help with the 'vendor-provided' aspect.

It might be a useful thought-experiment to work out what the CDI json would look like to implement the current contents of that file.

There is also some support in Windows for vendor-provided graphics drivers to install other files into Hyper-V-isolated containers when booted, see the discussion of CopyToVmOverwrite on Microsoft Docs and this blog post exploring the behaviour in more detail. I have no personal experience with this part of the system, so I don't know off-hand why it's only applied to Hyper-V-isolated containers (and full Hyper-V VMs, I suspect...) or even if this is still accurate for Windows Server 2022.

I believe this system is graphics driver-specific, though.

TBBle avatar Mar 11 '22 16:03 TBBle

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] avatar May 29 '24 04:05 github-actions[bot]

This issue was automatically closed due to inactivity.

github-actions[bot] avatar Jun 29 '24 04:06 github-actions[bot]

  • @elezar I see this one is related to https://github.com/kubernetes/kubernetes/issues/97739 - probably should not be closed because of that? Is there a "frozen" label to prevent it from being closed by the stale-bot?

(I arrived here through https://github.com/moby/moby/blob/2c0100fbde612ecbaae3a08f960ae726aa57ecc7/cmd/dockerd/daemon.go#L272-L278)

thaJeztah avatar Aug 20 '24 06:08 thaJeztah

We don't have the same bot as other projects at present. Let's reopen it and I'll look into a frozen label.

elezar avatar Aug 26 '24 13:08 elezar

Thanks! I think it has some options to exempt issues or PRs based on labels; https://github.com/actions/stale?tab=readme-ov-file#exempt-issue-labels

thaJeztah avatar Aug 26 '24 13:08 thaJeztah

Created https://github.com/cncf-tags/container-device-interface/pull/226

elezar avatar Aug 26 '24 14:08 elezar

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. To skip these checks, apply the "lifecycle/frozen" label.

github-actions[bot] avatar Nov 25 '24 04:11 github-actions[bot]

Hmm, looks like we implemented the lifecycle/frozen label (at least partially) for this ticket, but never actually added the label here.

TBBle avatar Nov 25 '24 07:11 TBBle

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. To skip these checks, apply the "lifecycle/frozen" label.

github-actions[bot] avatar Feb 25 '25 04:02 github-actions[bot]

Yup, still missing the lifecycle/frozen label.

TBBle avatar Feb 25 '25 13:02 TBBle

Thanks @TBBle. I just added it.

elezar avatar Feb 25 '25 14:02 elezar