-
Notifications
You must be signed in to change notification settings - Fork 256
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
Support CRDs for custom label rules #468
Comments
etcd has the 1.5 MiB object limit size which corresponds to roughly 750 pages of text. I think this should be enough to hold enough rules. |
Regarding 1. does it mean we would have 1 CR that all nfd-workers would read and report the labels ... If we have several hundreds of nodes, how will the API behave is several hundred nfd-workers are reading from the very same CR at the same time? Should we add a random startup time? |
Regarding 3. only the master would read the CR and the load would be distributed to each node, update of the CM... |
Yes, all workers will need read that config (CR)
This is a fair concern. Unfortunately I don't have access to such a cluster. It's not just startup time but any time a new CR is added (or old one updated) |
Yes. Point of stress would be moved to the configmap |
Regarding 2. This could create some load on the "network" if going this route we definitely would need something like "OnChange" trigger and not do this periodically. |
Yeah, I don't like this as it complicates the worker-master communication and looks like a well of sync issues. |
Added option 4 which might make sense: do rule processing of the CRs on the master side. |
I know I am biassed, but I feel this issue is more suited for the Operator than the Operand side of NFD |
I think this would be orthogonal to / independent of the operator and should be handled by nfd-master. Allowing the creation of rules independent of the deployment mechanism, be it the operator, Helm or templates/kustomize. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-contributor-experience at kubernetes/community. |
we are getting ready for V0.11.0 !!!! |
With #663 all the essential parts are now merged and I declare this issue as implemented |
@marquiz: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
It's still under construction, there's no PR yet on that |
What would you like to be added:
An idea I've been pondering to make adding new rules for the
custom
source easier, without the need to add any new mounts or anything. NFD would specify a new CRD and watch for objects. Not sure what would be the best way to implement this:Option 1 would be the obvious simplest choice even if it opens up direct communication of the worker to the control plane.
Why is this needed:
Make dropping in vendor/user specific custom label rules easier, as simple as
kubectl apply -f <rules.yaml>
List of individual PRs:
source/custom: refactor kconfig rule internal representation #543source: define source names as consts #544source: rename FeatureSource to LabelSource #596source: make sources register themselves #597source: introduce FeatureSource interface #601source: rename FeatureSource to LabelSource #596pkg/api/feature: small improvements #642source: implement FeatureSource interface #604source/custom: expression based label rules #639More extensive and expressive custom rules #464grpc: extend the API to send raw features #646specify CRD for custom labeling rules #653source/custom: move rule matching to pkg/apis/nfd #654Add code for interacting with CRD API #655nfd-master: implement controller for NodeFeatureRule CRs #656CRD-based custom node labeling #553Adjacent PRs, building on top and extending the functionality:
source/storage: implement FeatureSource #649source/network: implement FeatureSource #660source/memory: implement FeatureSource #661Templating of custom label names #550Add variables to feature rule spec and support backrefs #663nfd-worker: add core.featureSources config option #605The text was updated successfully, but these errors were encountered: