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

VM migration: Reduce downtime using LSP IFSTATE #4774

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

RamLavi
Copy link
Contributor

@RamLavi RamLavi commented Oct 14, 2024

What this PR does and why is it needed

Ccurrently all pods have the LSP.Enabled option set to true by default.

During migration, it makes sense to handoff the network traffic from the
source to target pod as soon as the target pod is up and ready for
traffic.
This PR is performing this handoff by closing the LSP of the source port.
Doing this significantly reduces the migration downtime.

This traffic handoff optimization is currently restricted to VM with
only secondary interfaces, and layer2 topology.

Which issue(s) this PR fixes

Fixes #

Special notes for reviewers

How to verify it

Run migration tests.

Details to documentation updates

Migration downtime results:
pre-copy:

  • before change: 13s
  • After change: 3s

post-copy:

  • before change: 26s
  • After change: 13s

Description for the changelog

Does this PR introduce a user-facing change?

NONE

Doing so will allow dynamically controlling the LSP during cases like vm
live migration in order to optimize downtime. This will be introduced in
future commits.

Signed-off-by: Ram Lavi <ralavi@redhat.com>
@RamLavi
Copy link
Contributor Author

RamLavi commented Oct 14, 2024

Keeping PR as draft until adding unit tests

currently all pods have the LSP.Enabled option set to true by default.
During migration, it makes sense to handoff the network traffic from the
source to target pod as soon as the target pod is up and ready for
traffic.
The handoff is done by closing the LSP of the source port.
Doing this significantly reduces the migration downtime.

This traffic handoff optimization is currently restricted to VM with
only secondary interfaces, and layer2 topology.

Signed-off-by: Ram Lavi <ralavi@redhat.com>
@RamLavi RamLavi force-pushed the migration_handoff_lsp_switch branch from 3af1f6b to 6201674 Compare October 14, 2024 12:05
@maiqueb
Copy link
Contributor

maiqueb commented Oct 15, 2024

/cc @qinqon

Could you take this for a drive, and check if this matches your expectations ?

@qinqon
Copy link
Contributor

qinqon commented Oct 15, 2024

/cc @qinqon

Could you take this for a drive, and check if this matches your expectations ?

sure.

@tssurya tssurya added the feature/kubevirt-live-migration All issues related to kubevirt live migration label Oct 16, 2024
@tssurya tssurya added this to the v1.1.0 milestone Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/kubevirt-live-migration All issues related to kubevirt live migration
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

4 participants