Bug 1415959

Summary: QEMU Guest boot failed because of "Couldn't find device with uuid"
Product: Red Hat Enterprise Linux 7 Reporter: jingzhao <jinzhao>
Component: qemu-kvm-rhevAssignee: Fam Zheng <famz>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 7.4CC: chayang, jinzhao, juzhang, knoel, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-25 07:32:43 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:
Attachments:
Description Flags
screenshot
none
console log
none
test debug log none

Description jingzhao 2017-01-24 08:57:01 UTC
Created attachment 1243857 [details]
screenshot

Description of problem:
QEMU Guest boot failed because of "Couldn't find device with uuid"

Version-Release number of selected component (if applicable):
kernel-3.10.0-546.el7.x86_64
qemu-kvm-rhev-2.8.0-2.el7.x86_64

guest: kernel-3.10.0-514.el7.x86_64

How reproducible:
3/3

Steps to Reproduce:
1. Boot guest with qemu command [1]

[1]
/usr/libexec/qemu-kvm \
    -S  \
    -name 'avocado-vt-vm1'  \
    -sandbox off  \
    -machine q35  \
    -nodefaults  \
    -vga cirrus \
    -device ioh3420,id=root_port,bus=pcie.0,addr=02 \
    -device ioh3420,slot=2,id=root_port2,bus=pcie.0,addr=03 \
    -device x3130-upstream,id=pcie_switch,bus=root_port,addr=00 \
    -device x3130-upstream,id=pcie_switch2,bus=root_port2,addr=00 \
    -device xio3130-downstream,bus=pcie_switch2,id=pcie_switch2.0,addr=00,chassis=1 \
    -device x3130-upstream,id=pcie_switch3,bus=pcie_switch2.0,addr=00 \
    -device i82801b11-bridge,id=dmi2pci_bridge,bus=pcie.0,addr=04 \
    -device pci-bridge,id=pci_bridge,bus=dmi2pci_bridge,addr=01,chassis_nr=1  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/avocado_rLX2Io/monitor-qmpmonitor1-20170124-162750-rN3sGgho,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/avocado_rLX2Io/monitor-catch_monitor-20170124-162750-rN3sGgho,server,nowait \
    -mon chardev=qmp_id_catch_monitor,mode=control \
    -device pvpanic,ioport=0x505,id=idXesjlb  \
    -chardev socket,id=serial_id_serial0,path=/var/tmp/avocado_rLX2Io/serial-serial0-20170124-162750-rN3sGgho,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20170124-162750-rN3sGgho,path=/var/tmp/avocado_rLX2Io/seabios-20170124-162750-rN3sGgho,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20170124-162750-rN3sGgho,iobase=0x402 \
    -device ich9-usb-ehci1,id=usb1,addr=1d.7,multifunction=on,bus=pcie.0 \
    -device ich9-usb-uhci1,id=usb1.0,multifunction=on,masterbus=usb1.0,addr=1d.0,firstport=0,bus=pcie.0 \
    -device ich9-usb-uhci2,id=usb1.1,multifunction=on,masterbus=usb1.0,addr=1d.2,firstport=2,bus=pcie.0 \
    -device ich9-usb-uhci3,id=usb1.2,multifunction=on,masterbus=usb1.0,addr=1d.4,firstport=4,bus=pcie.0 \
    -drive id=drive_image1,if=none,snapshot=off,aio=native,cache=none,format=qcow2,file=/home/kvm_autotest_root/images/rhel73-64-virtio.qcow2 \
    -device xio3130-downstream,bus=pcie_switch,id=pcie_switch.0,addr=00,chassis=2 \
-device virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,bus=pcie_switch.0,addr=00 \
    -drive id=drive_stg0,if=none,snapshot=off,aio=native,cache=none,format=qcow2,file=/home/kvm_autotest_root/images/stg0.qcow2 \
    -device xio3130-downstream,bus=pcie_switch3,id=pcie_switch3.0,addr=00,chassis=3 \
    -device virtio-blk-pci,id=stg0,drive=drive_stg0,bootindex=1,bus=pcie_switch3.0,addr=00 \
    -device xio3130-downstream,bus=pcie_switch,id=pcie_switch.1,addr=01,chassis=4 \
    -device virtio-net-pci,mac=9a:6a:6b:6c:6d:6e,id=id7iYHdH,vectors=4,netdev=idzY5WkO,bus=pcie_switch.1,addr=00  \
    -netdev tap,id=idzY5WkO \
    -device xio3130-downstream,bus=pcie_switch2,id=pcie_switch2.1,addr=01,chassis=5 \
    -device e1000e,mac=9a:6f:70:71:72:73,id=idaH8lE9,netdev=idkUmloT,bus=pcie_switch2.1,addr=00  \
    -netdev tap,id=idkUmloT \
    -m 4096  \
    -smp 4,maxcpus=4,cores=2,threads=1,sockets=2  \
    -cpu 'Haswell-noTSX',+kvm_pv_unhalt \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -vnc :0  \
    -rtc base=utc,clock=host,driftfix=slew  \
    -boot order=cdn,once=c,menu=off,strict=off \
    -enable-kvm \
    -monitor stdio \



Actual results:
boot failed because of "couldn't find device with uuid"

Expected results:
guest boot successfully

Additional info:
please check the console log and the screenshot through attachment

Comment 1 jingzhao 2017-01-24 09:00:21 UTC
Created attachment 1243858 [details]
console log

Comment 2 jingzhao 2017-01-24 09:00:55 UTC
Created attachment 1243859 [details]
test debug log

Comment 4 Ademar Reis 2017-01-24 17:09:25 UTC
My understanding is that this is a regression (test was working before), is that right? What is the purpose of the stg0.qcow2 file? Is there anything special in the rhel73-64-virtio.qcow2 file? Can we have access to this test environment?

Comment 6 Fam Zheng 2017-01-25 04:01:40 UTC
Did this work on previous versions?

Comment 7 jingzhao 2017-01-25 05:32:28 UTC
(In reply to Fam Zheng from comment #6)
> Did this work on previous versions?

Tested it on qemu-kvm-rhev-2.6.0-28.el7_3.3.x86_64 and also failed.

Thanks
Jing Zhao

Comment 8 Fam Zheng 2017-01-25 07:32:43 UTC
Your attached test log is incomplete. This is a bug in your test script: the PV image stg0 that is used to install the system is _recreated_ before rebooting. See this:

[root@localhost ~]# grep -e 'qemu-img create' -e 'MALLOC_PERTURB_=' /root/avocado/job-results/job-2017-01-25T14.23-1decc0d/job.log 
2017-01-25 14:23:35,483 error_context    L0079 INFO | Context: preprocessing --> Create image by command: /bin/qemu-img create -f raw /home/kvm_autotest_root/images/rhel73-64-virtio.raw 20G
2017-01-25 14:23:35,589 error_context    L0079 INFO | Context: preprocessing --> Create image by command: /bin/qemu-img create -f raw /home/kvm_autotest_root/images/stg0.raw 1G
MALLOC_PERTURB_=1  /usr/libexec/qemu-kvm \
2017-01-25 14:52:57,213 error_context    L0079 INFO | Context: preprocessing --> Create image by command: /bin/qemu-img create -f raw /home/kvm_autotest_root/images/stg0.raw 1G
MALLOC_PERTURB_=1  /usr/libexec/qemu-kvm \

The first two 'qemu-img create' commands are before install, the third is after install before rebooting and trying to login.

Please fix your test.