-
Notifications
You must be signed in to change notification settings - Fork 107
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
design-proposal: Network binding plugin #280
Conversation
/assign @AlonaKaplan |
abaf935
to
708da12
Compare
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: AlonaKaplan The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
initially protected by a FG. | ||
Feature lifecycle is expected to pass alpha, beta and eventually to GA. | ||
|
||
## Appendix B: Concrete example for bridge-binding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should start at A?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
708da12
to
00f9e53
Compare
The network-binding-plugin feature design started back in mid 2023 and continued to evolve until implemented. The design was conducted on a google document [1] out of convenience. (access is limited to the `kubevirt-dev` google group) We now migrate it to a markdown version to provide better visibility. [1] https://docs.google.com/document/d/13fLaqZuM8El_CT5XzxPv-1epKsB1-Spv_jtXveEkkdQ Signed-off-by: Edward Haas <[email protected]>
00f9e53
to
8bc2b5e
Compare
Thanks! |
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters + adding the appropriate NAD). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters + adding the appropriate NAD). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] kubevirt#2603 Signed-off-by: Ram Lavi <[email protected]>
* api: Introduce PrimaryUserDefinedNetworkBinding FG enabler Introduce a new enabler: PrimaryUserDefinedNetworkBinding. The default value is false. This commit only adds the relevant API and documentation. The logic of this enabler will be added in later commits. Signed-off-by: Ram Lavi <[email protected]> * hco-operator: Add primary UDN Binding image env var Adding a new image that is currently created by kubevirt/kubevirt [0]. [0] kubevirt/kubevirt#10425 Signed-off-by: Ram Lavi <[email protected]> * util/cluster: Set HCO main() to fail if PrimaryUDNImageEnvV env var is not set Signed-off-by: Ram Lavi <[email protected]> * operands/kubevirt: Set Kubevirt CR new primary UDN Binding plugin The ability to register network bindings to Kubevirt VMs was proposed [0] in order to allow Kubevirt VMs to connect to network bindings and gain advanced user defined network capabilities. The configuration is added to the kubevirt CR (kubevirt feature gate* + configuring the binding parameters). This commit deploys and registers a primary user-defined-network (UDN) binding to the kubevirt CR, so it could be used by kubevirt users. * enabling the `NetworkBindingPlugins` kubevirt feature-gate on kubevirt CR is not needed as it is already set by default by HCO [1]. [0] kubevirt/community#280 [1] #2603 Signed-off-by: Ram Lavi <[email protected]> * docs/cluster-configuration: Add primaryUserDefinedNetworkBinding FG Signed-off-by: Ram Lavi <[email protected]> --------- Signed-off-by: Ram Lavi <[email protected]>
What this PR does / why we need it:
The network-binding-plugin feature design started back in mid 2023 and continued to evolve until implemented.
The design was conducted on a google document [1] out of convenience. (access is limited to the
kubevirt-dev
google group)We now migrate it to a markdown version to provide better visibility.
[1] https://docs.google.com/document/d/13fLaqZuM8El_CT5XzxPv-1epKsB1-Spv_jtXveEkkdQ
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #
Special notes for your reviewer:
This is converting a google document to markdown, all design content has been already reviewed thoroughly
and implemented.
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.
Release note: