-
Notifications
You must be signed in to change notification settings - Fork 237
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
network: Add link state management section #864
base: main
Are you sure you want to change the base?
Conversation
Lets wait for: /hold |
/uncc @RamLavi |
Change: Added a disclaimer about setting the primary interface's link state to down when using readiness / liveness probes. |
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.
Thanks @orelmisan. Please see my comments below.
## Link State Management | ||
|
||
KubeVirt enables setting the desired interface's link state using the interface's `state` field. | ||
The allowed values are: `up`, `down`. Unspecified value is considered as `up`. |
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.
what about absent
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.
Added a note about absent
.
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.
I think this is a good observation about a problematic separation.
We have now one field named interface state that through it a user can implement hotplug/unplug and link-state.
We could have organized it under a common "Interface state management" section.
Lets consider this in a follow up.
KubeVirt enables setting the desired interface's link state using the interface's `state` field. | ||
The allowed values are: `up`, `down`. Unspecified value is considered as `up`. | ||
|
||
When the desired link state is set to `down`, it is equivalent to having the network cable disconnected from the machine. |
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.
nit: And I'm not even sure that I agree with myself here :) but it might technically be more correct, since the NIC is emulated.
When the desired link state is set to `down`, it is equivalent to having the network cable disconnected from the machine. | |
When the desired link state is set to `down`, it emulates the effect of disconnecting the network cable from the machine |
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.
Changed the wording a bit.
pod: { } | ||
``` | ||
|
||
The desired link state specification could be specified: |
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.
The desired link state specification could be specified: | |
The desired link state specification can be specified: |
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.
4. When a new network interface is hot-plugged. | ||
|
||
> [!NOTE] | ||
> The desired link state could be specified for network interfaces using all bindings other than `sriov`, as the virtualization |
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.
can
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.
> stack used by KubeVirt does not allow setting it for SR-IOV devices. | ||
|
||
> [!WARNING] | ||
> When HTTP / TCP readiness and/or liveness probes are specified on the VM, setting the primary interface's link state to `down` will |
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.
please consider a link to the probes documentation
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.
Not sure how to do it in a way that will not easily break.
@aburdenthehand could you please guide me?
@@ -509,6 +509,75 @@ spec: | |||
> **Note:** Placement on dedicated CPUs can only be achieved if the Kubernetes CPU manager is running on the SR-IOV capable workers. | |||
> For further details please refer to the [dedicated cpu resources documentation](../compute/dedicated-cpu_resources.md/). | |||
|
|||
## Link State Management |
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.
## Link State Management | |
### Link State Management |
As Interfaces
are at level ##
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.
Good catch, done.
Change: Addressed @nirdothan's comments. |
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.
Thank you!
I am looking to re-organize the network documentation to avoid big doc files.
It should not effect this addition, but it better trigger it.
One request: Please mention the version from which this feature is available.
/approve
I am unsure if we can merge this before the v1.5 release, we need to consult over this. (in addition to waiting for the implementation to complete)
/hold
@@ -509,6 +509,78 @@ spec: | |||
> **Note:** Placement on dedicated CPUs can only be achieved if the Kubernetes CPU manager is running on the SR-IOV capable workers. | |||
> For further details please refer to the [dedicated cpu resources documentation](../compute/dedicated-cpu_resources.md/). | |||
|
|||
### Link State Management |
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.
Continuing adding stuff in this file is problematic.
I want to re-organize the documentation we have and start splitting it into smaller pieces.
For now, I do not know what is the correct separation.
So I am good to place it here for now and suggest a better location later.
## Link State Management | ||
|
||
KubeVirt enables setting the desired interface's link state using the interface's `state` field. | ||
The allowed values are: `up`, `down`. Unspecified value is considered as `up`. |
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.
I think this is a good observation about a problematic separation.
We have now one field named interface state that through it a user can implement hotplug/unplug and link-state.
We could have organized it under a common "Interface state management" section.
Lets consider this in a follow up.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: EdDev 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 |
Add documentation for the link state management feature. Signed-off-by: Orel Misan <[email protected]>
New changes are detected. LGTM label has been removed. |
Change: Added version number. |
What this PR does / why we need it:
Add documentation for the link state management feature.
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:
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: