Bug 1726643 - 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
Summary: Migration fails with error "invalid argument: Turn parallel migration on to t...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: libvirt
Version: 8.1
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: rc
: 8.0
Assignee: Jiri Denemark
QA Contact: Fangge Jin
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-07-03 10:59 UTC by Fangge Jin
Modified: 2020-11-14 05:51 UTC (History)
7 users (show)

Fixed In Version: libvirt-5.6.0-1.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-06 07:17:18 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2019:3723 0 None None None 2019-11-06 07:17:38 UTC

Description Fangge Jin 2019-07-03 10:59:26 UTC
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

Comment 1 Jiri Denemark 2019-07-03 13:48:07 UTC
Since you marked this as regression, do you know which version of libvirt worked correctly?

Comment 2 Fangge Jin 2019-07-04 01:27:35 UTC
It worked with libvirt-5.0.0-7

Comment 3 Jiri Denemark 2019-07-19 14:06:07 UTC
Fix sent upstream for review: https://www.redhat.com/archives/libvir-list/2019-July/msg01260.html

Comment 4 Jiri Denemark 2019-07-19 14:33:17 UTC
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>

Comment 6 Fangge Jin 2019-08-16 02:07:23 UTC
Verified on libvirt-5.6.0-1.virtcov.el8.x86_64

Comment 8 errata-xmlrpc 2019-11-06 07:17:18 UTC
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


Note You need to log in before you can comment on or make changes to this bug.