Bug 2119429
| Summary: | [RFE] RFE backport allow enabling ZEROCOPY live migration to libvirt-python on RHEL8 to be consumed by VDSM [rhel-8.6.0.z] | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | RHEL Program Management Team <pgm-rhel-tools> |
| Component: | libvirt-python | Assignee: | Jiri Denemark <jdenemar> |
| Status: | CLOSED ERRATA | QA Contact: | lcheng |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 8.7 | CC: | berrange, jdenemar, kanderso, lmen, mzamazal, nkoenig, virt-maint, xuzhang, yalzhang, ymankad |
| Target Milestone: | rc | Keywords: | FutureFeature, Triaged, ZStream |
| Target Release: | --- | Flags: | pm-rhel:
mirror+
|
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-python-8.0.0-1.1.el8 | Doc Type: | Enhancement |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 2092756 | Environment: | |
| Last Closed: | 2022-09-13 09:46:36 UTC | Type: | Feature Request |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 2092756 | ||
| Bug Blocks: | |||
|
Comment 1
Jiri Denemark
2022-08-18 14:56:56 UTC
Verify with python3-libvirt-8.0.0-1.1.module+el8.6.0+16381+3abc475c.x86_64. Scenario 1(negative): parallel + zerocopy + native_tls + p2p # python Python 3.6.8 (default, Jan 14 2022, 11:04:20) [GCC 8.5.0 20210514 (Red Hat 8.5.0-7)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import libvirt >>> srcconn = libvirt.open() >>> desturi = "qemu+tcp://lenovo-sr630-14.lab.eng.pek2.redhat.com/system" >>> destconn = libvirt.open(desturi) >>> dom = srcconn.lookupByName("avocado-vt-vm1") >>> flags = libvirt.VIR_MIGRATE_LIVE|libvirt.VIR_MIGRATE_AUTO_CONVERGE|libvirt.VIR_MIGRATE_POSTCOPY|libvirt.VIR_MIGRATE_ZEROCOPY|libvirt.VIR_MIGRATE_TLS|libvirt.VIR_MIGRATE_PARALLEL|libvirt.VIR_MIGRATE_PEER2PEER >>> dom.migrateToURI3(desturi, {'bandwidth': 100}, flags) libvirt: QEMU Driver error : internal error: unable to execute QEMU command 'migrate-set-parameters': Zero copy only available for non-compressed non-TLS multifd migration Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python3.6/site-packages/libvirt.py", line 2126, in migrateToURI3 raise libvirtError('virDomainMigrateToURI3() failed') libvirt.libvirtError: internal error: unable to execute QEMU command 'migrate-set-parameters': Zero copy only available for non-compressed non-TLS multifd migration Scenario 2(negative): parallel + zerocopy + native_tls + non-p2p >>> flags = libvirt.VIR_MIGRATE_LIVE|libvirt.VIR_MIGRATE_AUTO_CONVERGE|libvirt.VIR_MIGRATE_POSTCOPY|libvirt.VIR_MIGRATE_ZEROCOPY|libvirt.VIR_MIGRATE_TLS|libvirt.VIR_MIGRATE_PARALLEL >>> dom.migrate3(destconn, {'bandwidth': 100}, flags) libvirt: QEMU Driver error : internal error: unable to execute QEMU command 'migrate-set-parameters': Zero copy only available for non-compressed non-TLS multifd migration Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python3.6/site-packages/libvirt.py", line 1950, in migrate3 raise libvirtError('virDomainMigrate3() failed') libvirt.libvirtError: internal error: unable to execute QEMU command 'migrate-set-parameters': Zero copy only available for non-compressed non-TLS multifd migration Scenario 3(negative): non_parallel + zerocopy + p2p >>> flags = libvirt.VIR_MIGRATE_LIVE|libvirt.VIR_MIGRATE_AUTO_CONVERGE|libvirt.VIR_MIGRATE_POSTCOPY|libvirt.VIR_MIGRATE_ZEROCOPY|libvirt.VIR_MIGRATE_PEER2PEER >>> dom.migrateToURI3(desturi, {'bandwidth': 100}, flags) libvirt: QEMU Driver error : Requested operation is not valid: zero-copy is only available for parallel migration Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python3.6/site-packages/libvirt.py", line 2126, in migrateToURI3 raise libvirtError('virDomainMigrateToURI3() failed') libvirt.libvirtError: Requested operation is not valid: zero-copy is only available for parallel migration Scenario 4(negative): non_parallel + zerocopy + non_p2p >>> flags = libvirt.VIR_MIGRATE_LIVE|libvirt.VIR_MIGRATE_AUTO_CONVERGE|libvirt.VIR_MIGRATE_POSTCOPY|libvirt.VIR_MIGRATE_ZEROCOPY >>> dom.migrate3(destconn, {'bandwidth': 100}, flags) libvirt: QEMU Driver error : Requested operation is not valid: zero-copy is only available for parallel migration Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python3.6/site-packages/libvirt.py", line 1950, in migrate3 raise libvirtError('virDomainMigrate3() failed') libvirt.libvirtError: Requested operation is not valid: zero-copy is only available for parallel migration Scenario 5: parallel + zerocopy + non_p2p >>> flags = libvirt.VIR_MIGRATE_LIVE|libvirt.VIR_MIGRATE_AUTO_CONVERGE|libvirt.VIR_MIGRATE_POSTCOPY|libvirt.VIR_MIGRATE_PARALLEL|libvirt.VIR_MIGRATE_ZEROCOPY >>> dom.migrate3(destconn, {'bandwidth': 10}, flags) <libvirt.virDomain object at 0x7fdf125b5550> Scenario 6: parallel + zerocopy + p2p >>> srcconn = libvirt.open() >>> destconn = libvirt.open(desturi) >>> dom = srcconn.lookupByName("avocado-vt-vm1") >>> flags = libvirt.VIR_MIGRATE_LIVE|libvirt.VIR_MIGRATE_PEER2PEER|libvirt.VIR_MIGRATE_AUTO_CONVERGE|libvirt.VIR_MIGRATE_POSTCOPY|libvirt.VIR_MIGRATE_PARALLEL|libvirt.VIR_MIGRATE_ZEROCOPY >>> dom.migrateToURI3(desturi, {'bandwidth': 1000}, flags) 0 Scenario 7: parallel + zerocopy, abort migration, then migrate again. terminal 1: >>> srcconn = libvirt.open() >>> dom = srcconn.lookupByName("avocado-vt-vm1") >>> destconn = libvirt.open(desturi) >>> flags = libvirt.VIR_MIGRATE_LIVE|libvirt.VIR_MIGRATE_AUTO_CONVERGE|libvirt.VIR_MIGRATE_POSTCOPY|libvirt.VIR_MIGRATE_ZEROCOPY|libvirt.VIR_MIGRATE_PARALLEL >>> dom.migrate3(destconn, {'bandwidth': 10}, flags) libvirt: QEMU Driver error : operation aborted: migration out job: canceled by client Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python3.6/site-packages/libvirt.py", line 1950, in migrate3 raise libvirtError('virDomainMigrate3() failed') libvirt.libvirtError: operation aborted: migration out job: canceled by client >>> dom.migrate3(destconn, {'bandwidth': 10}, flags) <libvirt.virDomain object at 0x7fdf125afda0> terminal 2: # virsh domjobabort avocado-vt-vm1 setlocale: No such file or directory 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 (virt:rhel and virt-devel:rhel bug fix and enhancement update), 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-2022:6446 |