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

Ability to white list feature attributes on the NodeFeature object #2026

Open
yavinash007 opened this issue Jan 21, 2025 · 2 comments
Open
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@yavinash007
Copy link

What would you like to be added:

Add logic to filter the "features" that gets added to the nodefeature object.

Why is this needed:

The filter logic currently available, filters the labels that gets added to the node. But, the nodefeature object is still big, with all the feature attributes added to the NodeFeature.
:
For example, we added labelSource and label white lists to get the feature flags for these PCI devices as below:

labels:
feature.node.kubernetes.io/pci-0300_1a03.present: "true"

But, the pci devices and attributes in the NodeFetaure is quite large and lists hundreds of devices we don't care about. We wanted to support this feature.

Another example:

Obviously the ability to filter would be different for each feature. As another example, the kernel feature is also quite large (several thousand lines), when we may only care about one or two flags for labels - kernel version in our case.

This means we need to enable kernel feature, which is very large as well.

@yavinash007 yavinash007 added the kind/feature Categorizes issue or PR as related to a new feature. label Jan 21, 2025
@marquiz
Copy link
Contributor

marquiz commented Jan 23, 2025

We might want both allowList and denyList. And probably put this behind a feature gate.

Filtering out useless pci devices and kernel config options would be a good start.

/cc @ArangoGutierrez @adrianchiris

@marquiz
Copy link
Contributor

marquiz commented Jan 23, 2025

Also, one possible easy and huge optimization for the pci devices would be to group identical entries. Now we list everything, if you have say 50 virtual functions of certain device we list 50 identical entries -> does not make sense to me. We could group those and add new attribute like count or numEntries or whatever. I think that alone would reduce the data immensely without actually filtering out anything. For kernel config options we need filtering, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

2 participants