-
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
Expand source/network #591
Comments
available drivers supported on each network interface available at the cluster may be labeled like in the below example for above examples, might be something like: |
I've been preparing for something like this 🧐 In #553 I have this commit which expands generalizes network discovery a bit. I would be inclined to add this as a customizable capability only, at least in the suggested form above. I'm dubious about the usefullness of labels that contain e.g. network device names that can be anything between the nodes. So, I would say any feedback (comments on the concept, code review, testing...) on my somewhat huge PRs would be of great help in enabling this 😉 (#464, #550, #553). Unfortunately the documentation PR is still missing... |
sharing in case's useful, when multiple virtual/physical interfaces are present in the cluster node(s), physical net devices could be identified via the below command...
I'd be in favor of verbosing/improving a bit the networking labels (by default), given that cpu labels looks already great.
|
I'm reluctant to add any device-specific labels (i.e. labels that include the network device name). Any other suggestions or wishes?
Network devices are a bit different. And even in the case of cpuid labels it's questionable how useful most of these labels really are for the end user (i.e. how many of these really are used) – it'd be nice to have some hard data about this 😆 |
@ArangoGutierrez @leo8a: #660 added capability for network device detection. Please test and share feedback, is there something essential/useful missing. Perhaps the virtual/physical could be added 🤔 |
Now giving it a second thought, I'm not sure we want to disover virtual devices (currently we don't). WDYT? |
Hey @marquiz, thanks for pushing this forward. In my experience so far, discovering features on virtual devices doesn't have a UC as clear as discovering available features on physical devices. For instance, in cloud-native Telco deployments for 5G, usually, there's a need to patch the baremetal cluster nodes with the latest OOT drivers [1], or perform firmware upgrades on the NICs to meet the stringent requirements on packets processing (i.e., low-latency, etc.). These automated day-2 operations can be performed via other operators (like SRO, or others), but there's still a missing component that discovers the current driver and firmware supported on the NICs in order to fully automate these E2E operations. That's the gap, IMHO, that NFD might help to bridge, in Telco UCs.
|
Yes, agree
I think we could easily add |
Firmware could be tricky since most of the time this relies on some tools installed on the host be it a driver or some user-space library. There are use-cases where such information is encoded in the PCI config-space without using any external tools it can be "easily' extracted. @marquiz This is e.g. on of the use-case for having NFD expose the PCI config-space. This feature (driver exposure) could also be beneficial for sandboxed environments where e.g. I want to know which devices are bound to VFIO. @mythi FYI |
Do we need to consider here also if the devices is e.g. a bridge or a macvlan interface? Those would show the driver of the parent interface. |
Those are always "virtual" interfaces, right? So that we don't do them currently. |
I'd say only the s/parent/physical devices only, as Markus just pointed. This can be determined with the below command, in case it helps.
For the firmware version of NICs only, the below command comes in handy for us. However, IIRC @zvonkok had an idea to integrate this using a sidecar to gap the functionality.
|
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: 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. |
Enhance the
source/network
https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/source/network/network.go to expose more featuresWhat would you like to be added:
Info like
Why is this needed:
Discover available drivers supported on each network interface and support complex Network deployments
The text was updated successfully, but these errors were encountered: