Bug 1651437

Summary: The key word should be 'node-name' instead of 'node_name' in the error info in QMP if block_resize failed
Product: Red Hat Enterprise Linux Advanced Virtualization Reporter: Tingting Mao <timao>
Component: qemu-kvmAssignee: Virtualization Maintenance <virt-maint>
qemu-kvm sub component: Storage QA Contact: qing.wang <qinwang>
Status: CLOSED ERRATA Docs Contact:
Severity: low    
Priority: low CC: chayang, coli, ddepaula, juzhang, knoel, rbalakri, virt-maint
Version: ---Keywords: Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-6.0.0-16.module+el8.5.0+10848+2dccc46d Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-16 07:49:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tingting Mao 2018-11-20 05:36:38 UTC
Description of problem:
The key word should be 'node-name' not  'node_name' of the error info for block_resize job failed.


Version-Release number of selected component (if applicable):
qemu-kvm-2.12.0-42.module+el8+2173+537e5cb5
kernel-4.18.0-40.el8


How reproducible:
100%


Steps to Reproduce:
1.Boot a virtual machine
/usr/libexec/qemu-kvm \
        -name 'guest-rhel8.0' \
        -machine q35 \
        -nodefaults \
        -vga qxl \
        -blockdev driver=raw,cache.direct=off,cache.no-flush=on,node-name=my_file,file.driver=rbd,file.pool=rbd,file.image=target.img,file.server.0.host=10.66.144.31,file.server.0.port=6789 \
        -device virtio-blk-pci,id=virtio_blk_pci0,drive=my_file,bus=pcie.0,addr=05,bootindex=0 \
        -vnc :1 \
        -monitor stdio \
        -m 8192 \
        -smp 8 \
        -device virtio-net-pci,mac=9a:b5:b6:b1:b2:b3,id=idMmq1jH,vectors=4,netdev=idxgXAlm,bus=pcie.0,addr=0x9  \
        -netdev tap,id=idxgXAlm \
        -chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/timao/monitor-qmpmonitor1-20180220-094308-h9I6hRsI,server,nowait \
        -mon chardev=qmp_id_qmpmonitor1,mode=control  \

2.Resize the image by block_resize
{"execute": "block_resize", "arguments": { "device": "my_file", "size": 26843545600 }}
{"error": {"class": "GenericError", "desc": "Cannot find device=my_file nor node_name="}}

3.Change the argument according to the error log
{"execute": "block_resize", "arguments": { "node_name": "my_file", "size": 26843545600 }}
{"error": {"class": "GenericError", "desc": "Parameter 'node_name' is unexpected"}}


4.After search more info, the argument should be 'node-name'.
{"execute": "block_resize", "arguments": { "node-name": "my_file", "size": 26843545600 }}
{"return": {}} -------------------> SUCCESS


Actual results:
As above.


Expected results:
After step2, the key word should be 'node-name' in the error info.


Additional info:

Comment 3 Ademar Reis 2020-02-05 22:51:39 UTC
QEMU has been recently split into sub-components and as a one-time operation to avoid breakage of tools, we are setting the QEMU sub-component of this BZ to "General". Please review and change the sub-component if necessary the next time you review this BZ. Thanks

Comment 4 John Ferlan 2020-05-15 18:21:26 UTC
Connor - a very simple one... don't be surprised if it blossoms into more as a cscope search of error_setg.*node has a number of ways to express it (e.g node-name/node_name/node name/node) when printing the error about the 'node-name' parameter.

Comment 7 Connor Kuehl 2021-03-01 23:49:58 UTC
Patches posted upstream for review: https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg00355.html

Comment 15 qing.wang 2021-05-14 06:38:27 UTC
Passed test on:
4.18.0-305.1.el8.x86_64
qemu-kvm-common-6.0.0-16.module+el8.5.0+10848+2dccc46d.x86_64



Test steps:
1. boot vm

/usr/libexec/qemu-kvm \
  -name testvm \
  -machine q35 \
  -m 8G \
  -smp 8 \
  -cpu host,svm,+kvm_pv_unhalt \
  -device qemu-xhci,id=usb1 \
  -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \
  \
  -device pcie-root-port,id=pcie-root-port-0,multifunction=on,bus=pcie.0,addr=0x3,chassis=1 \
  -device pcie-root-port,id=pcie-root-port-1,port=0x1,addr=0x3.0x1,bus=pcie.0,chassis=2 \
  -device pcie-root-port,id=pcie-root-port-2,port=0x2,addr=0x3.0x2,bus=pcie.0,chassis=3 \
  -device pcie-root-port,id=pcie-root-port-3,port=0x3,addr=0x3.0x3,bus=pcie.0,chassis=4 \
  -device pcie-root-port,id=pcie-root-port-4,port=0x4,addr=0x3.0x4,bus=pcie.0,chassis=5 \
  -device pcie-root-port,id=pcie-root-port-5,port=0x5,addr=0x3.0x5,bus=pcie.0,chassis=6 \
  -device pcie-root-port,id=pcie-root-port-6,port=0x6,addr=0x3.0x6,bus=pcie.0,chassis=7 \
  -device pcie-root-port,id=pcie-root-port-7,port=0x7,addr=0x3.0x7,bus=pcie.0,chassis=8  \
  -device virtio-scsi-pci,id=scsi0,bus=pcie-root-port-5 \
  -device virtio-scsi-pci,id=scsi1,bus=pcie-root-port-6 \
  -blockdev driver=qcow2,file.driver=file,cache.direct=off,cache.no-flush=on,file.filename=/home/kvm_autotest_root/images/rhel840-64-virtio-scsi.qcow2,node-name=drive_image1   \
  -device scsi-hd,id=os,drive=drive_image1,bus=scsi0.0,bootindex=0,serial=OS_DISK   \
  \
  -blockdev driver=qcow2,file.driver=file,file.filename=/home/kvm_autotest_root/images/data1.qcow2,node-name=data_image1   \
  -device scsi-hd,id=data1,drive=data_image1,bus=scsi0.0,bootindex=1,serial=DATA_DISK   \
  -vnc :5 \
  -monitor stdio \
  -qmp tcp:0:5955,server=on,wait=off \
  -device virtio-net-pci,mac=9a:b5:b6:b1:b2:b7,id=idMmq1jH,vectors=4,netdev=idxgXAlm,bus=pcie-root-port-7 \
  -netdev tap,id=idxgXAlm \
  -chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/monitor-qmp7.log,server=on,wait=off \
  -mon chardev=qmp_id_qmpmonitor1,mode=control \
  -chardev file,path=/var/tmp/monitor-serial7.log,id=serial_id_serial0 \
  -device isa-serial,chardev=serial_id_serial0 \
  -D debug.log \
  -boot menu=on,reboot-timeout=1000 \
   \
  -blockdev node-name=file_cd1,driver=file,read-only=on,aio=threads,filename=/home/kvm_autotest_root/iso/linux/RHEL-8.4.0-20210503.1-x86_64-dvd1.iso,cache.direct=on,cache.no-flush=off \
  -blockdev node-name=drive_cd1,driver=raw,read-only=on,cache.direct=on,cache.no-flush=off,file=file_cd1 \
  -device scsi-cd,id=cd1,drive=drive_cd1,write-cache=on,bus=scsi1.0 \

2.give wrong id for device
{"execute": "block_resize", "arguments": { "device": "my_file", "size": 26843545600 }}
{"error": {"class": "GenericError", "desc": "Cannot find device='my_file' nor node-name=''"}}

3.give wrong parameter node_name
{"execute": "block_resize", "arguments": { "node_name": "my_file", "size": 26843545600 }}
{"error": {"class": "GenericError", "desc": "Parameter 'node_name' is unexpected"}}

4.give correct id for node-name
{"execute": "block_resize", "arguments": { "node-name": "data_image1", "size": 26843545600 }}
{"return": {}}

Comment 18 errata-xmlrpc 2021-11-16 07:49:54 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 (virt:av 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-2021:4684