Skip to content

feat(vm): live migration policies #890

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

Open
wants to merge 19 commits into
base: main
Choose a base branch
from

Conversation

diafour
Copy link
Member

@diafour diafour commented Mar 28, 2025

Description

  • Add per-vm migration policies.
  • Add kubevirt patch to handoff MigrationConfiguration construction to the virtualization-controller.

Why do we need it, and what problem does it solve?

  • Set cluster-wide migration network options via ModuleConfig.
  • Set autoConverge option via VM and VMOP.

This dynamic migration options is not compatible with kubevirt's MigrationPolicy resources:

  • MigrationPolicy should be created before creating migration.
  • MigrationPolicy resources should be recreated to change options.
  • Dynamic settings seems more perspective.

What is the expected result?

  • User can set AlwaysForced policy and VM will always migrate with autoConverge.
  • User can migrate with enable/disable autoConverge via VMOP.

Checklist

  • The code is covered by unit tests.
  • e2e tests passed.
  • Documentation updated according to the changes.
  • Changes were tested in the Kubernetes cluster manually.

Changelog entries

section: vm
type: feature
summary: Ability to force migration with CPU throttling. Live migration policy can be set in VM and user can override its value with VMOP. Add cluster-wide migration network options in ModuleConfig.

@diafour diafour force-pushed the feat/vm/add-settings-for-live-migration branch 4 times, most recently from 4653b7a to 2ad0c5e Compare April 18, 2025 07:43
@diafour diafour added this to the v0.17.0 milestone Apr 18, 2025
@diafour diafour changed the title feat[vm] live migration policies feat(vm): live migration policies Apr 18, 2025
@diafour diafour force-pushed the feat/vm/add-settings-for-live-migration branch from 94dadbd to 367e475 Compare April 18, 2025 14:57
@diafour diafour marked this pull request as ready for review April 21, 2025 08:57
@z9r5 z9r5 requested a review from Lada7878 April 21, 2025 10:32
@Lada7878 Lada7878 requested review from denmaloyreb and removed request for Lada7878 April 21, 2025 10:52
@diafour diafour force-pushed the feat/vm/add-settings-for-live-migration branch from 0782512 to 235e5dd Compare April 21, 2025 11:59
Copy link
Member

@denmaloyreb denmaloyreb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Proposals based on the results of the review.

z9r5
z9r5 previously approved these changes Apr 22, 2025
denmaloyreb
denmaloyreb previously approved these changes Apr 22, 2025
@diafour diafour dismissed stale reviews from denmaloyreb and z9r5 via 841015f April 22, 2025 10:54
@diafour diafour force-pushed the feat/vm/add-settings-for-live-migration branch from c4c7025 to 841015f Compare April 22, 2025 10:54
@diafour diafour force-pushed the feat/vm/add-settings-for-live-migration branch 2 times, most recently from ba78f49 to 412bfed Compare April 23, 2025 18:06
yaroslavborbat
yaroslavborbat previously approved these changes Apr 29, 2025
diafour added 18 commits April 30, 2025 20:38
- Add per-vm migration policies.
- Patch kubevirt to wait until migrationConfiguration appears
- Change earlier patch to allow KVVMI status update by the virtualization-controller.

Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
…itcher

Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
…toConverge settings, initial tests for empty migrationConfiguration

Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
…evirt tests for virt-controller

Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
…h research

Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
@diafour diafour force-pushed the feat/vm/add-settings-for-live-migration branch from fe7ce87 to c173901 Compare April 30, 2025 17:39
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
@deckhouse-BOaTswain
Copy link
Contributor

deckhouse-BOaTswain commented Apr 30, 2025

Workflow has started.
Follow the progress here: Workflow Run

The target step completed with status: failure.

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

Successfully merging this pull request may close these issues.

6 participants