-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[Feature request]Include an additional field in Result struct, analogous to args
in the config struct.
#582
Comments
cc @rosenhouse |
args
in the config struct.args
in the config struct.
Any feedback on this? I am willing to work on this if the maintainers agree on this feature. |
Any feedback on this @rosenhouse @dcbw @squeed ? |
In general, we've been reluctant to consider this in the past, since it decreases the value of CNI as a specification. If there's an attribute that it makes sense to export, then it should be part of the spec. However, this sort of rigid viewpoint is easy to dictate from up on high. What sort of attributes were you thinking? |
@squeed I am currently looking at a CNI plugin that uses Open vSwitch. This plugin would return a vhost-user interface for use with a hypervisor-based containers. The vhost-user socket is a path on the file-system, that will be used as a network interface by the container. So, essentially, the plugin needs to send this path as an additional attribute |
@amshinde what would the runtime do with the vhost-user socket, and how would it pass that to the workload to enable the workload to load the DPDK libraries and start passing traffic on the VF? |
@dcbw The runtime would check for the |
Any update on this? This feature will be help especially in the scenario's of chained plugins where one plugin wan't to pass some data to the next one. |
I have a plan for this: allow plugins to inject additional |
@dougbtv has agreed to take some time and prepare a SPEC.md PR for this (in due time). |
Any update on this? We are still struggling to find a way to pass extra data from one plugin to another. |
@oilbeater @Colstuwjx is the main use-case still vhost-user? Can you elaborate on the control flow here? eg plugin A adds the vhost-user-path + data to |
It's similar to this, but not the same one. In my case, I just have two plugins as a chain, and I want the upstream plugin could return a result with some extra vars, if the extra vars are set, the downstream plugin should do some tasks, such as setting up the firewall rules and network policies, but it's optional, if no extra vars passed, the downstream plugin may set the defaults. |
In my case, we want to build a cluster wide IPAM to different CNI and the IPAM can manage some plugin specific options like vlanID, paraentNic, deviceID etc. In that way, the main plugin (maybe a modified vlan, macvlan or host-device) can use the extra options to config the nic. Otherwise the main plugins have to use a static config or request another configserver to get the options. |
I'd like to know why it is called |
Yes, I also don't like the word Thanks. |
I have to say that What we are talking is actually the extendablility of |
Agree with @mars1024. Its been a while since I created this feature request, but what I had in mind was the ability for a plugin to return additional set of data in the |
Yes, whatever the terminology is, we just want to have this extendablility . |
This will allow plugins to return arbitrary data that is specific to the plugin. I am currently looking at a OVS-DPDK plugin, that would create vhost-user sockets for virtualized containers. For this to work, the runtime should be able to get the path of the socket created by the plugin. To accommodate such use-cases, it will be useful to create an additional field+interface for the plugin to return additional data.
This has been discussed previously here:
#513 (comment)
The text was updated successfully, but these errors were encountered: