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

PCI address based filtering for accelerator device type is not supported #301

Merged
merged 2 commits into from
Jan 26, 2021

Conversation

svallala
Copy link
Contributor

@svallala svallala commented Dec 4, 2020

Filtering based on PCI addresses is missing

@zshi-redhat
Copy link
Collaborator

@svallala pciAddresses selector was added in favor of using sriov in VM environmnet, what is the use case for accelerator?

@svallala
Copy link
Contributor Author

svallala commented Dec 4, 2020

We would like to group the FPGA resources based on NUMA topology and since NUMA node is not part of the selectors the only way to achieve this via PCI Addresses. The documentation states that standard selectors are supported for accelerators and PCI Addresses is part of the standard selectors.

@zshi-redhat
Copy link
Collaborator

We would like to group the FPGA resources based on NUMA topology and since NUMA node is not part of the selectors the only way to achieve this via PCI Addresses. The documentation states that standard selectors are supported for accelerators and PCI Addresses is part of the standard selectors.

Would k8s topology manager be helpful here if devices are not grouped based on NUMA?

@svallala
Copy link
Contributor Author

svallala commented Dec 4, 2020

We don't want to rely on Topology Manager, since we have advanced planning algorithm. This seems to be a genuine miss because the documentation explicitly mentions common selectors being supported for the accelerator device type.

The "accelerator" device type currently supports only the common selectors.

@svallala
Copy link
Contributor Author

svallala commented Dec 6, 2020

The use case could also be, to create resource grouping where a customer would like to have a few VFs reserved for a tenant. If for some reason this pull request is not approved, then at least the documentation should be fixed to indicate that PCI address based filtering is not supported for "accelerator" device types. I didn't suspect a plugin issue and had to spend a lot of time debugging our platform before I realized it's the plugin issue. Correct documentation will save others time. Thanks

@ahalimx86
Copy link
Collaborator

I think the pciAddress filter is applicable to the accelerators as well and not having that implemented for accelerator was genuine miss IMO. We definitely should consider this PR. Thanks for @svallala for flagging this and submitting the solution.

Copy link
Contributor

@adrianchiris adrianchiris left a comment

Choose a reason for hiding this comment

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

Straightforward change

As stated in : https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin#common-selectors

pciAddresses selector is common

we should really have a common method to filter devices according to defined common filters, (thought for improvement... not related to this PR.)

overall looks good, it would be great if you could extend accelDeviceProvider_test.go to include filtering with this selector.

Describe("getting Filtered devices", func() {

@zshi-redhat
Copy link
Collaborator

@ahalim-intel @adrianchiris if you can give an approve, I will merge it.

@ahalimx86
Copy link
Collaborator

ahalimx86 commented Jan 8, 2021

/lgtm
echoing @adrianchiris comment above about extending the test.

@svallala
Copy link
Contributor Author

svallala commented Jan 8, 2021

A completely different test is failing, locally if I reran the tests everything passed, so I assumed it is some transient failure that I could ignore. Can someone help me with this failure?

@svallala
Copy link
Contributor Author

svallala commented Jan 8, 2021

@zshi-redhat running the tests locally is working fine. Can you please help me with this error? Thanks

@zshi-redhat
Copy link
Collaborator

@zshi-redhat running the tests locally is working fine. Can you please help me with this error? Thanks

@svallala Martin is attempting to fix the ghw test error at: #312, once that's done, I will re-run the test in this PR.

@svallala
Copy link
Contributor Author

Thanks @zshi-redhat

@zshi-redhat
Copy link
Collaborator

@svallala could you rebase against latest master and see if CI passes? There were two CI issues fixed last week.

@svallala
Copy link
Contributor Author

@zshi-redhat I rebased and the scripts have passed now.

@zshi-redhat
Copy link
Collaborator

@zshi-redhat I rebased and the scripts have passed now.

thanks!

@zshi-redhat
Copy link
Collaborator

Merge it since we already have 3 approves and the latest change is just rebase against master (for including CI fixs).

@zshi-redhat zshi-redhat merged commit c923e56 into k8snetworkplumbingwg:master Jan 26, 2021
@svallala
Copy link
Contributor Author

thanks @zshi-redhat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants