Skip to content

Commit

Permalink
migration-controller: don't sync qmp in sysfs mode
Browse files Browse the repository at this point in the history
If source VM uses sysfs cpu scaling mode we don't
need to perform any QMP related sync operations
during the migration

Signed-off-by: Misha Sakhnov <[email protected]>
  • Loading branch information
mikhail-sakhnov committed Jan 23, 2025
1 parent 8ece7f6 commit 4724f6b
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions pkg/neonvm/controllers/vmmigration_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -317,13 +317,14 @@ func (r *VirtualMachineMigrationReconciler) Reconcile(ctx context.Context, req c
migration.Status.SourcePodIP = vm.Status.PodIP
migration.Status.TargetPodIP = targetRunner.Status.PodIP

// do hotplugCPU in targetRunner before migration
log.Info("Syncing CPUs in Target runner", "TargetPod.Name", migration.Status.TargetPodName)
if err := QmpSyncCpuToTarget(vm, migration); err != nil {
return ctrl.Result{}, err
if *vm.Spec.CpuScalingMode == vmv1.CpuScalingModeQMP {
// do hotplugCPU in targetRunner before migration
log.Info("Syncing CPUs in Target runner", "TargetPod.Name", migration.Status.TargetPodName)
if err := QmpSyncCpuToTarget(vm, migration); err != nil {
return ctrl.Result{}, err
}
log.Info("CPUs in Target runner synced", "TargetPod.Name", migration.Status.TargetPodName)
}
log.Info("CPUs in Target runner synced", "TargetPod.Name", migration.Status.TargetPodName)

// Migrate only running VMs to target with plugged devices
if vm.Status.Phase == vmv1.VmPreMigrating {
// update VM status
Expand Down

0 comments on commit 4724f6b

Please sign in to comment.