Description of problem: Migration fails with error "invalid argument: Turn parallel migration on to tune it" when --auto-converge-initial/--comp-mt-level/--comp-mt-threads/--comp-mt-dthreads is in params Version-Release number of selected component (if applicable): libvirt-5.4.0-2.module+el8.1.0+3523+b348b848.x86_64 How reproducible: 100% Steps to Reproduce: 1.Start a vm 2. Migrate it: # virsh migrate nfs qemu+ssh://intel-5130-16-1.englab.nay.redhat.com/system --live --verbose --auto-converge --auto-converge-initial 30 error: invalid argument: Turn parallel migration on to tune it # virsh migrate nfs qemu+ssh://lenovo-sr630-10.lab.eng.pek2.redhat.com/system --live --verbose --compressed Migration: [ 70 %]^Cerror: operation aborted: migration out job: canceled by client # virsh migrate nfs qemu+ssh://lenovo-sr630-10.lab.eng.pek2.redhat.com/system --live --verbose --compressed --comp-mt-level 9 error: invalid argument: Turn parallel migration on to tune it # virsh migrate nfs qemu+ssh://lenovo-sr630-10.lab.eng.pek2.redhat.com/system --live --verbose --compressed --comp-mt-threads 5 error: invalid argument: Turn parallel migration on to tune it # virsh migrate nfs qemu+ssh://lenovo-sr630-10.lab.eng.pek2.redhat.com/system --live --verbose --compressed --comp-mt-dthreads 5 error: invalid argument: Turn parallel migration on to tune it Actual results: Migration fails when --auto-converge-initial/--comp-mt-level/--comp-mt-threads/--comp-mt-dthreads is in params Expected results: Migration succeeds Additional info: From libvirtd.log, I can see: 2019-07-03 10:27:53.959+0000: 32697: debug : virDomainMigrateBegin3Params:4820 : params["parallel.connections"]=(int)30 2019-07-03 10:27:53.988+0000: 32699: debug : virDomainMigrateConfirm3Params:5053 : params["parallel.connections"]=(int)30 2019-07-03 10:34:11.334+0000: 32695: debug : qemuMigrationParamsFromFlags:521 : Setting migration parameter 'multifd-channels' from 'parallel.connections' 2019-07-03 10:34:26.946+0000: 32698: debug : virDomainMigrateBegin3Params:4820 : params["parallel.connections"]=(int)9 2019-07-03 10:34:26.973+0000: 32699: debug : virDomainMigrateConfirm3Params:5053 : params["parallel.connections"]=(int)9 2019-07-03 10:34:38.668+0000: 32695: debug : virDomainMigrateBegin3Params:4820 : params["parallel.connections"]=(int)5 2019-07-03 10:34:38.695+0000: 32696: debug : virDomainMigrateConfirm3Params:5053 : params["parallel.connections"]=(int)5 2019-07-03 10:34:47.997+0000: 32699: debug : virDomainMigrateBegin3Params:4820 : params["parallel.connections"]=(int)5 2019-07-03 10:34:48.024+0000: 32697: debug : virDomainMigrateConfirm3Params:5053 : params["parallel.connections"]=(int)5
Since you marked this as regression, do you know which version of libvirt worked correctly?
It worked with libvirt-5.0.0-7
Fix sent upstream for review: https://www.redhat.com/archives/libvir-list/2019-July/msg01260.html
This is now fixed upstream by commit 88ce7bac413a7a5722b2ffe53dd844c0d677168a Refs: v5.5.0-263-g88ce7bac41 Author: Jiri Denemark <jdenemar> AuthorDate: Fri Jul 19 15:46:33 2019 +0200 Commit: Jiri Denemark <jdenemar> CommitDate: Fri Jul 19 16:29:12 2019 +0200 virsh migrate: Properly check for --parallel-connections Ever since --parallel-connections option for virsh migrate was introduced we did not properly check the return value of vshCommandOptInt. We would set VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS parameter even if vshCommandOptInt returned 0 (which means --parallel-connections was not specified) when another int option which was checked earlier was specified with a nonzero value. Specifically, running virsh migrate with either --auto-converge-increment, --auto-converge-initial, --comp-mt-dthreads, --comp-mt-threads, or --comp-mt-level would set VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS parameter and if --parallel option was not used, libvirt would complain error: invalid argument: Turn parallel migration on to tune it even though --parallel-connections option was not used at all. https://bugzilla.redhat.com/show_bug.cgi?id=1726643 Signed-off-by: Jiri Denemark <jdenemar> Reviewed-by: Michal Privoznik <mprivozn>
Verified on libvirt-5.6.0-1.virtcov.el8.x86_64
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2019:3723