Hide Forgot
Description of problem: QMP command "__com.redhat_drive_add" has not been found in QEMU 2.8. Version-Release number of selected component (if applicable): qemu-kvm-rhev-2.8.0-2.el7.x86_64 kernel-3.10.0-541.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1. # /usr/libexec/qemu-kvm -qmp tcp:localhost:6666,server,nowait -monitor stdio 2. In qmp monitor: {"execute": "query-commands"} {"execute": "__com.redhat_drive_add", "arguments": {"id": "drive_block0", "file": "/root/storage.qcow2", "format": "qcow2"}} {"error": {"class": "CommandNotFound", "desc": "The command __com.redhat_drive_add has not been found"}} 3. Actual results: 1. There is no qmp command "__com.redhat_drive_add" in output of "query-commands" 2. When execute command "__com.redhat_drive_add", got following error: {"error": {"class": "CommandNotFound", "desc": "The command __com.redhat_drive_add has not been found"}} Expected results: Qmp command "__com.redhat_drive_add" should be existed. Additional info: Tested on qemu-kvm-rhev-2.6.0-29.el7.x86_64, there is no such problem: 1. Qmp command "__com.redhat_drive_add" can be found in the output of "query-commands". 2. There is no error when execute qmp command "__com.redhat_drive_add": {"execute": "__com.redhat_drive_add", "arguments": {"id": "drive_block0", "file": "/root/storage.qcow2", "format": "qcow2"}} {"return": {}}
drive_del is lost in Qemu 2.8 either.
The way QMP commands get registered changed upstream (commit b57482d..bd6092e). The semantic conflicts with our downstream-only commands weren't fully resolved in their forward ports.
Fix included in qemu-kvm-rhev-2.8.0-4.el7
Verified this bug on: qemu-kvm-rhev-2.8.0-4.el7.x86_64 kernel-3.10.0-541.el7.x86_64 1. There are commands "__com.redhat_drive_del" and "__com.redhat_drive_add" for "query-commands". {"execute": "query-commands"} {"return": [{"name": "xen-set-global-dirty-log"}, {"name": "xen-save-devices-state"}, {"name": "xen-load-devices-state"}, {"name": "x-colo-lost-heartbeat"}, {"name": "x-blockdev-remove-medium"}, {"name": "x-blockdev-insert-medium"}, {"name": "x-blockdev-del"}, {"name": "x-blockdev-change"}, {"name": "transaction"}, {"name": "trace-event-set-state"}, {"name": "trace-event-get-state"}, {"name": "system_wakeup"}, {"name": "system_reset"}, {"name": "system_powerdown"}, {"name": "stop"}, {"name": "set_password"}, {"name": "set_link"}, {"name": "send-key"}, {"name": "screendump"}, {"name": "rtc-reset-reinjection"}, {"name": "ringbuf-write"}, {"name": "ringbuf-read"}, {"name": "remove-fd"}, {"name": "quit"}, {"name": "query-vnc-servers"}, {"name": "query-vnc"}, {"name": "query-version"}, {"name": "query-uuid"}, {"name": "query-tpm-types"}, {"name": "query-tpm-models"}, {"name": "query-tpm"}, {"name": "query-target"}, {"name": "query-status"}, {"name": "query-spice"}, {"name": "query-rx-filter"}, {"name": "query-rocker-ports"}, {"name": "query-rocker-of-dpa-groups"}, {"name": "query-rocker-of-dpa-flows"}, {"name": "query-rocker"}, {"name": "query-pci"}, {"name": "query-named-block-nodes"}, {"name": "query-name"}, {"name": "query-migrate-parameters"}, {"name": "query-migrate-capabilities"}, {"name": "query-migrate-cache-size"}, {"name": "query-migrate"}, {"name": "query-mice"}, {"name": "query-memory-devices"}, {"name": "query-memdev"}, {"name": "query-machines"}, {"name": "query-kvm"}, {"name": "query-iothreads"}, {"name": "query-hotpluggable-cpus"}, {"name": "query-fdsets"}, {"name": "query-events"}, {"name": "query-dump-guest-memory-capability"}, {"name": "query-dump"}, {"name": "query-cpus"}, {"name": "query-cpu-definitions"}, {"name": "query-commands"}, {"name": "query-command-line-options"}, {"name": "query-chardev-backends"}, {"name": "query-chardev"}, {"name": "query-blockstats"}, {"name": "query-block-jobs"}, {"name": "query-block"}, {"name": "query-balloon"}, {"name": "query-acpi-ospm-status"}, {"name": "qom-set"}, {"name": "qom-list-types"}, {"name": "qom-list"}, {"name": "qom-get"}, {"name": "qmp_capabilities"}, {"name": "pmemsave"}, {"name": "object-del"}, {"name": "object-add"}, {"name": "netdev_del"}, {"name": "nbd-server-stop"}, {"name": "nbd-server-start"}, {"name": "nbd-server-add"}, {"name": "migrate_set_speed"}, {"name": "migrate_set_downtime"}, {"name": "migrate_cancel"}, {"name": "migrate-start-postcopy"}, {"name": "migrate-set-parameters"}, {"name": "migrate-set-capabilities"}, {"name": "migrate-set-cache-size"}, {"name": "migrate-incoming"}, {"name": "migrate"}, {"name": "memsave"}, {"name": "input-send-event"}, {"name": "inject-nmi"}, {"name": "human-monitor-command"}, {"name": "getfd"}, {"name": "expire_password"}, {"name": "eject"}, {"name": "dump-guest-memory"}, {"name": "drive-mirror"}, {"name": "drive-backup"}, {"name": "device_del"}, {"name": "device-list-properties"}, {"name": "cpu-add"}, {"name": "cpu"}, {"name": "cont"}, {"name": "closefd"}, {"name": "client_migrate_info"}, {"name": "chardev-remove"}, {"name": "chardev-add"}, {"name": "change-vnc-password"}, {"name": "change-backing-file"}, {"name": "change"}, {"name": "blockdev-snapshot-sync"}, {"name": "blockdev-snapshot-internal-sync"}, {"name": "blockdev-snapshot-delete-internal-sync"}, {"name": "blockdev-snapshot"}, {"name": "blockdev-open-tray"}, {"name": "blockdev-mirror"}, {"name": "blockdev-close-tray"}, {"name": "blockdev-change-medium"}, {"name": "blockdev-backup"}, {"name": "blockdev-add"}, {"name": "block_set_io_throttle"}, {"name": "block_resize"}, {"name": "block_passwd"}, {"name": "block-stream"}, {"name": "block-set-write-threshold"}, {"name": "block-job-set-speed"}, {"name": "block-job-resume"}, {"name": "block-job-pause"}, {"name": "block-job-complete"}, {"name": "block-job-cancel"}, {"name": "block-dirty-bitmap-remove"}, {"name": "block-dirty-bitmap-clear"}, {"name": "block-dirty-bitmap-add"}, {"name": "block-commit"}, {"name": "balloon"}, {"name": "add_client"}, {"name": "add-fd"}, {"name": "__com.redhat_qxl_screendump"}, {"name": "__com.redhat_drive_del"}, {"name": "__com.redhat_drive_add"}, {"name": "netdev_add"}, {"name": "device_add"}, {"name": "query-qmp-schema"}]} 2. commands "__com.redhat_drive_del" and "__com.redhat_drive_add" can be executed successfully. {"execute": "__com.redhat_drive_add", "arguments": {"id": "drive_block0", "file": "/root/storage.qcow2", "format": "qcow2"}} {"return": {}} {"execute": "__com.redhat_drive_del", "arguments": {"id": "drive_block0"}} {"return": {}}
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/RHSA-2017:2392