Skip to content

Conversation

@steve-fraser
Copy link
Member

Adding PCI devices support for Filntlockd

@netlify
Copy link

netlify bot commented Mar 24, 2025

Deploy Preview for flintlock-docs canceled.

Name Link
🔨 Latest commit 34e8078
🔍 Latest deploy log https://app.netlify.com/sites/flintlock-docs/deploys/67e2a2744474a50008a72df4

@steve-fraser steve-fraser marked this pull request as ready for review March 25, 2025 11:54

message PCIDevice {
string VendorID = 1;
string DeviceID = 2;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably model this for future expansion. For example, selecting a GPU for a pool of GPUs on the host.

Something along the lines of what we do with VolumeSource.

Maybe we have something like:

message PCIDevice {
  optional DeviceIDSource = 1;
}

Another option is that we model it on "requests". So the VM requests a PCI device that meets a set of criteria? And may the criteria is a CEL expression which would then cover a number of different options one being by DeviceID? I quite like this approach, its very similar to where Kubernetes is going

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we used the CEL approach then it could end up being:

message PCIDevice {
string Expression = 1;
}

And then the expression would be something like:

  • device.id == "58:00.0"
  • device.class == "vga" && device.available

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could then also use CEL to select PCI devices available to flintlock.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's an interesting idea. How would you validate the cell expression?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'd need a custom data model for the CEL side and populate that with data from /sys/bus/pci/devices and other things.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we could go with something like this to not block using the device id directly?:

message PCIDevice {
  optional DeviceIDSource = 1;
  optional Expression= 2; // Add this later
}

@github-actions
Copy link
Contributor

github-actions bot commented Jun 3, 2025

This PR is stale because it has been open 60 days with no activity.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants