Bug 2092756
Summary: | [RFE] RFE backport allow enabling ZEROCOPY live migration to libvirt-python on RHEL8 to be consumed by VDSM | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Nils Koenig <nkoenig> | |
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, nkoenig, virt-maint, xuzhang, ymankad | |
Target Milestone: | rc | Keywords: | FutureFeature, Triaged, ZStream | |
Target Release: | --- | |||
Hardware: | All | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | libvirt-python-8.0.0-2.module+el8.7.0+15832+54d7352d | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 2119429 (view as bug list) | Environment: | ||
Last Closed: | 2022-11-08 09:19:55 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: | 2089433, 2092752 | |||
Bug Blocks: | 2119429 |
Comment 2
Jiri Denemark
2022-06-24 12:30:00 UTC
Test with python3-libvirt-8.0.0-2.module+el8.7.0+15832+54d7352d.x86_64, libvirt-8.0.0-9.module+el8.7.0+15830+85788ab7.x86_64 and qemu-kvm-6.2.0-17.module+el8.7.0+15924+b11d8c3f.x86_64. Scenario 1(negative): parallel + zerocopy + native_tls + p2p # python Python 3.6.8 (default, Jun 14 2022, 09:19:35) [GCC 8.5.0 20210514 (Red Hat 8.5.0-13)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import libvirt >>> srcconn = libvirt.open() >>> desturi = "qemu+tcp://cloud-qe-09.idmqe.lab.eng.bos.redhat.com/system" >>> destconn = libvirt.open("qemu+tcp://cloud-qe-09.idmqe.lab.eng.bos.redhat.com/system") >>> 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 : operation failed: migration out job: Requested Zero Copy feature is not available: Invalid argument 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: operation failed: migration out job: Requested Zero Copy feature is not available: Invalid argument 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 : operation failed: migration out job: Requested Zero Copy feature is not available: Invalid argument 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 failed: migration out job: Requested Zero Copy feature is not available: Invalid argument >>> 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 0x7f72ba3f2588> Scenario 6: parallel + zerocopy + p2p >>> 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': 10}, 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("qemu+tcp://cloud-qe-09.idmqe.lab.eng.bos.redhat.com/system") >>> 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': 100}, 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': 100}, flags) <libvirt.virDomain object at 0x7f30332e94a8> 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 (Low: virt:rhel and virt-devel:rhel security, 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/RHSA-2022:7472 |