diff --git a/pkg/controller/plan/scheduler/vsphere/scheduler.go b/pkg/controller/plan/scheduler/vsphere/scheduler.go index 100130c90..1315bf23e 100644 --- a/pkg/controller/plan/scheduler/vsphere/scheduler.go +++ b/pkg/controller/plan/scheduler/vsphere/scheduler.go @@ -167,9 +167,18 @@ func (r *Scheduler) buildPending() (err error) { } if !vmStatus.MarkedStarted() && !vmStatus.MarkedCompleted() { + var cost int + if el9, _ := r.Plan.VSphereUsesEl9VirtV2v(); el9 { + /// virt-v2v transfers one disk at a time + cost = 1 + } else { + // CDI transfers the disks in parallel by different pods + cost = len(vm.Disks) + } + pending := &pendingVM{ status: vmStatus, - cost: len(vm.Disks), + cost: cost, } r.pending[vm.Host] = append(r.pending[vm.Host], pending) }