Bug 1294056

Summary: The guest cannot boot up successful when boot guest with "-nodefaults" and without "-usb"
Product: Red Hat Enterprise Linux 7 Reporter: Shuang Yu <shuyu>
Component: qemu-kvm-rhevAssignee: David Gibson <dgibson>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 7.2CC: knoel, michen, qzhang, shuyu, virt-maint, xuhan, xuma, zhengtli
Target Milestone: rc   
Target Release: ---   
Hardware: ppc64le   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-01-11 00:30:48 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:
Attachments:
Description Flags
screenshot none

Description Shuang Yu 2015-12-24 10:20:29 UTC
Created attachment 1109178 [details]
screenshot

Description of problem:
When boot guest with "-nodefaults" and without "-usb",the guest cannot boot up successful and will stoped at:
...
Scanning USB
No console specified and no default found,creating dev-null 


Version-Release number of selected component (if applicable):
Host:
kernel-3.10.0-327.el7.ppc64le
qemu-kvm-rhev-2.3.0-31.el7_2.5.ppc64le
SLOF-20150313-5.gitc89b0df.el7.noarch
Guest:
RHEL-7.2-20151030.0-Server-ppc64-dvd1.iso

How reproducible:
100%

Steps to Reproduce:
1.Boot up guest with "nodefaults" and with "-usb" :

# /usr/libexec/qemu-kvm -name virtio-input -machine pseries -m 8G -smp 4 -uuid 8aeab7e2-f341-4f8c-80e8-59e2968d85c2 -realtime mlock=off -monitor stdio -rtc base=utc -msg timestamp=on -vga std -qmp tcp:0:4666,server,nowait -netdev tap,id=hostnet1,script=/etc/qemu-ifup,vhost=on -device virtio-net-pci,netdev=hostnet1,id=net1,mac=00:54:5a:52:5f:5c -vnc :10 -device spapr-vscsi,id=scsi0,reg=0x6000 -drive file=RHEL-7.2-20151030.0-Server-ppc64le.qcow2,format=qcow2,if=none,id=drive-scsi0-0-0-0,cache=none -device scsi-hd,bus=scsi0.0,drive=drive-scsi0-0-0-0,bootindex=1,id=scsi0-0-0-0 -drive file=RHEL-7.2-20151030.0-Server-ppc64-dvd1.iso,format=raw,if=none,id=drive-scsi1,cache=none -device scsi-cd,bus=scsi0.0,drive=drive-scsi1,bootindex=2,id=scsi1 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 -device virtserialport,bus=virtio-serial0.0,chardev=qga0,id=qemu-ga0,name=org.qemu.guest_agent.0 -nodefaults -usb

2.Boot up guest with "-nodefaults" and without "-usb":

# /usr/libexec/qemu-kvm -name virtio-input -machine pseries -m 8G -smp 4 -uuid 8aeab7e2-f341-4f8c-80e8-59e2968d85c2 -realtime mlock=off -monitor stdio -rtc base=utc -msg timestamp=on -vga std -qmp tcp:0:4666,server,nowait -netdev tap,id=hostnet1,script=/etc/qemu-ifup,vhost=on -device virtio-net-pci,netdev=hostnet1,id=net1,mac=00:54:5a:52:5f:5c -vnc :10 -device spapr-vscsi,id=scsi0,reg=0x6000 -drive file=RHEL-7.2-20151030.0-Server-ppc64le.qcow2,format=qcow2,if=none,id=drive-scsi0-0-0-0,cache=none -device scsi-hd,bus=scsi0.0,drive=drive-scsi0-0-0-0,bootindex=1,id=scsi0-0-0-0 -drive file=RHEL-7.2-20151030.0-Server-ppc64-dvd1.iso,format=raw,if=none,id=drive-scsi1,cache=none -device scsi-cd,bus=scsi0.0,drive=drive-scsi1,bootindex=2,id=scsi1 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 -device virtserialport,bus=virtio-serial0.0,chardev=qga0,id=qemu-ga0,name=org.qemu.guest_agent.0 -nodefaults

3.Boot up guest without "-nodefaults" and without "-usb"

# /usr/libexec/qemu-kvm -name virtio-input -machine pseries -m 8G -smp 4 -uuid 8aeab7e2-f341-4f8c-80e8-59e2968d85c2 -realtime mlock=off -monitor stdio -rtc base=utc -msg timestamp=on -vga std -qmp tcp:0:4666,server,nowait -netdev tap,id=hostnet1,script=/etc/qemu-ifup,vhost=on -device virtio-net-pci,netdev=hostnet1,id=net1,mac=00:54:5a:52:5f:5c -vnc :10 -device spapr-vscsi,id=scsi0,reg=0x6000 -drive file=RHEL-7.2-20151030.0-Server-ppc64le.qcow2,format=qcow2,if=none,id=drive-scsi0-0-0-0,cache=none -device scsi-hd,bus=scsi0.0,drive=drive-scsi0-0-0-0,bootindex=1,id=scsi0-0-0-0 -drive file=RHEL-7.2-20151030.0-Server-ppc64-dvd1.iso,format=raw,if=none,id=drive-scsi1,cache=none -device scsi-cd,bus=scsi0.0,drive=drive-scsi1,bootindex=2,id=scsi1 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 -device virtserialport,bus=virtio-serial0.0,chardev=qga0,id=qemu-ga0,name=org.qemu.guest_agent.0



Actual results:

After step 1,the guest can boot up successful

After step 2,the guest cannot boot up succesful and will stoped at SLOF:
Scanning USB
No console specified and no default found,creating dev-null 

After step 3,the guest can boot up successful

Expected results:
All the senarios,the guest should boot up successful.


Additional info:

Comment 1 Shuang Yu 2015-12-24 10:21:48 UTC
Test on x86_64 host,not hit this issue.

Comment 3 David Gibson 2016-01-11 00:30:48 UTC
As the error from SLOF suggests the machine has no console.  With -nodefaults the user is expected to specify enough devices to form a working system.  There are two ways to do this for a papr guest:

1) Specify both a graphics device (VGA) and an input device (USB or, in future, virtio-input).

2) Specify a hypervisor console with -device spapr-vty (neither a graphics nor USB device is necessary).

Since papr guests are intended for server usage, it's expected that (2) will be the usual approach.

We can't reasonably include a console with -nodefaults, because neither of these options should be treated as an "always present" device.