-
Bug
-
Resolution: Not a Bug
-
Normal
-
None
-
rhel-9.4
-
None
-
None
-
Moderate
-
rhel-sst-virtualization
-
ssg_virtualization
-
None
-
False
-
-
None
-
None
-
None
-
None
-
-
All
-
None
What were you trying to do that didn't work?
Migration fails when deprecation_behavior='reject'
Please provide the package NVR for which bug is seen:
libvirt-10.0.0-1.el9.x86_64
qemu-kvm-8.2.0-2.el9.x86_64
How reproducible:
100%
Steps to reproduce
- Set /etc/libvirt/qemu.conf with deprecation_behavior='reject' and restart virtqemud
- Start a domain and migrate it to another host
- virsh migrate rhel-seabios qemu+ssh://root@XXXX/system --copy-storage-all
error: internal error: unable to execute QEMU command 'migrate-set-capabilities': Deprecated value compress disabled by policy
Logs of qmp:
2142.558 > 0x7fcabc039010 {"execute":"query-block","id":"libvirt-452"}
2142.558 < 0x7fcabc039010 {"return": [{"io-status": "ok", "device": "", "locked": false, "removable": false, "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 10737418240, "filename": "/var/lib/libvirt/images/rhel-seabios.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 2169425920, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "compression-type": "zlib", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false, "extended-l2": false}}, "dirty-flag": f
2142.559 > 0x7fcabc039010 {"execute":"query-migrate","id":"libvirt-453"}
2142.559 < 0x7fcabc039010 {"return": {}, "id": "libvirt-453"}
2142.559 > 0x7fcabc039010 {"execute":"query-named-block-nodes","arguments":
,"id":"libvirt-454"}
2142.559 < 0x7fcabc039010 {"return": [{"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 10737418240, "filename": "/var/lib/libvirt/images/rhel-seabios.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 2169425920, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "compression-type": "zlib", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false, "extended-l2": false}}, "dirty-flag": false}, "iops_wr": 0, "ro": false, "node-name": "libvirt-1-format", "backing_file_de
2142.560 > 0x7fcabc039010 {"execute":"query-named-block-nodes","arguments":
,"id":"libvirt-455"}
2142.560 < 0x7fcabc039010 {"return": [{"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": 10737418240, "filename": "/var/lib/libvirt/images/rhel-seabios.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 2169425920, "format-specific": {"type": "qcow2", "data": {"compat": "1.1", "compression-type": "zlib", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false, "extended-l2": false}}, "dirty-flag": false}, "iops_wr": 0, "ro": false, "node-name": "libvirt-1-format", "backing_file_de
2142.999 > 0x7fcabc039010 {"execute":"query-migrate-parameters","id":"libvirt-456"}
2143.000 < 0x7fcabc039010 {"return": {"cpu-throttle-tailslow": false, "xbzrle-cache-size": 67108864, "cpu-throttle-initial": 20, "announce-max": 550, "avail-switchover-bandwidth": 0, "multifd-channels": 2, "mode": "normal", "multifd-zstd-level": 1, "announce-initial": 50, "downtime-limit": 300, "tls-authz": "", "vcpu-dirty-limit": 1, "multifd-compression": "none", "announce-rounds": 5, "announce-step": 100, "tls-creds": "", "x-vcpu-dirty-limit-period": 1000, "multifd-zlib-level": 1, "max-cpu-throttle": 99, "max-pos
2143.000 > 0x7fcabc039010 {"execute":"migrate-set-capabilities","arguments":{"capabilities":[
,{"capability":"auto-converge","state":false},{"capability":"rdma-pin-all","state":false},{"capability":"postcopy-ram","state":false},{"capability":"compress","state":false},{"capability":"pause-before-switchover","state":true},{"capability":"late-block-activate","state":false},{"capability":"multifd","state":false},{"capability":"dirty-bitmaps","state":false},{"capability":"return-path"
2143.003 < 0x7fcabc039010 {"id": "libvirt-457", "error": {"class": "GenericError", "desc": "Deprecated value compress disabled by policy"}}
2143.003 > 0x7fcabc039010 {"execute":"migrate-set-capabilities","arguments":{"capabilities":[
,{"capability":"auto-converge","state":false},{"capability":"rdma-pin-all","state":false},{"capability":"postcopy-ram","state":false},{"capability":"compress","state":false},{"capability":"pause-before-switchover","state":false},{"capability":"late-block-activate","state":false},{"capability":"multifd","state":false},{"capability":"dirty-bitmaps","state":false},{"capability":"return-path
2143.006 < 0x7fcabc039010 {"id": "libvirt-458", "error": {"class": "GenericError", "desc": "Deprecated value compress disabled by policy"}}
Expected results
Migration succeeds without error
Actual results
As above
As the old compression method is deprecated since qemu 8.2.0: https://gitlab.com/qemu-project/qemu/-/commit/864128df465a8b041e089475e903be8d7d0d06ef
Please implement the new compression method.