Skip to content

Commit

Permalink
neonvm: handle sysfs scaling mode in migrations (#1179)
Browse files Browse the repository at this point in the history
  • Loading branch information
mikhail-sakhnov authored Jan 23, 2025
1 parent 8ece7f6 commit 75fbc99
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 75fbc99

Please sign in to comment.