Skip to content
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 nic hotplug #6733

Closed
maiqueb opened this issue Nov 4, 2021 · 12 comments · Fixed by #6852
Closed

Support nic hotplug #6733

maiqueb opened this issue Nov 4, 2021 · 12 comments · Fixed by #6852

Comments

@maiqueb
Copy link
Contributor

maiqueb commented Nov 4, 2021

Is this a BUG REPORT or FEATURE REQUEST?:
/kind enhancement
#6322

What happened:
Hot-plug (add) nics to running VMs is an industry standard available in multiple platforms, allowing the dynamic attachment of L2 networks. This is useful when the workload (VM) cannot tolerate a restart when attaching networks, of for scenarios where, for instance, the workload is created prior to the network.

This would help bridge the gap between KubeVirt's feature set and what the user base expects from it.

What you expected to happen:

  • Adding network interfaces to running VMs.
  • A VM can have multiple interfaces connected to the same (secondary) network(s).

Anything else we need to know?:
All PRs related to this effort should link back to this tracker.

The current target date is Summer 2022.

Link to (approved) design document.

Hot-plugging interfaces into the pod is currently being worked on, in the multus project.

@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 2, 2022
@maiqueb
Copy link
Contributor Author

maiqueb commented Feb 2, 2022

/remove-lifecycle stale

@kubevirt-bot kubevirt-bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 2, 2022
@maiqueb
Copy link
Contributor Author

maiqueb commented Mar 30, 2022

It is still not yet possible to hotplug interfaces into a pod, which is currently blocked on Multus waiting for k8snetworkplumbingwg/multus-cni#777 . The PR didn't even receive one round of reviews.

As such, we should adjust our expectations: it is impossible to have this available in KubeVirt by Summer 2022.

@chinglinwen
Copy link

chinglinwen commented Apr 21, 2022

This is a critical feature to have. hope it merged soon.

@maiqueb
Copy link
Contributor Author

maiqueb commented May 26, 2022

This is a critical feature to have. hope it merged soon.

I've asked the multus maintainers what are their plans for releasing multus v4, and their plans on a timeline for hotplug in multus in this discussion. I suggest you track it @chinglinwen .

Depending on the answer there we can plan the KubeVirt part or come up with a design alternative for hot-plugging interfaces into the launcher pod that does not involve multus.

@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 24, 2022
@maiqueb
Copy link
Contributor Author

maiqueb commented Aug 24, 2022

/remove-lifecycle stale

Lately multus-v4 was merged to master, which enables 3rd party controllers from directly invoking delegate add / delete.

I've kicked up this controller project (currently in the works) that will enable pod network selection element changes to hot[plug/unplug] into pods.

@kubevirt-bot kubevirt-bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 24, 2022
@poojaghumre
Copy link

Is this planned for the next kubevirt release?

@maiqueb
Copy link
Contributor Author

maiqueb commented Nov 15, 2022

We're trying to get it ready. The code works, but we're evaluating if the proposed design can be improved / simplified.

@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 13, 2023
@maiqueb
Copy link
Contributor Author

maiqueb commented Feb 13, 2023

/remove-lifecycle stale

@kubevirt-bot kubevirt-bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 13, 2023
@maiqueb maiqueb changed the title Support nic hotplug / hot-unplug Support nic hotplug Mar 7, 2023
@maiqueb
Copy link
Contributor Author

maiqueb commented Mar 7, 2023

A follow-up to this issue (to provide the unplug counterpart) is available in #9383.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants