-
Bug
-
Resolution: Done-Errata
-
Normal
-
None
-
SLOF-20210217-2.module+el8.10.0+20141+6faa2812
-
None
-
None
-
ZStream
-
rhel-sst-virtualization
-
ssg_virtualization
-
4
-
7
-
None
-
QE ack
-
False
-
-
None
-
None
-
Approved Blocker
-
Pass
-
Automated
-
-
ppc64le
-
None
This issue is the root cause of https://issues.redhat.com/browse/OCPBUGS-17476
What were you trying to do that didn't work?
In the issue above, some VMs which were starting fine on rhel 8.5 no longer start after upgrading to rhel 8.6 or newer. Adding <console type='pty'> to libvirt XML and restarting the VM is enough to get it to start (this adds a spapr-vio console and a spapr-vio-serial device to the VM). I've also noticed that the boot is successful after adding <graphics type='vnc'> to the VM, or removing the virtio-serial controller (this implies removing the virtio console if there's one).
If I start from a RHEL 8.5 system, upgrade QEMU to a newer (8.6+) version, then the VM still boots. Then if I upgrade the SLOF package from SLOF-20191022-3.git899d9883.module+el8.3.0+6423+e4cb6418.noarch to SLOF-20210217-1.module+el8.6.0+14480+c0a3aa0f.noarch, the bug starts happening and the VM stops booting.
Please provide the package NVR for which bug is seen:
How reproducible:
always if you follow the steps below
Steps to reproduce
- grab latest "QEMU Compressed" ppc64le image from https://releases-rhcos-art.apps.ocp-virt.prod.psi.redhat.com/?stream=prod/streams/4.13-9.2&arch=ppc64le
- uncompress it to `/var/lib/libvirt/images`and possibly create an image on top using it as a backing file (qemu-img create -f qcow2 /var/lib/libvirt/images/debug.qcow2 -b /var/lib/libvirt/images/rhcos-413.92.202307260246-0-qemu.ppc64le.qcow2 -F qcow2)
- create VM using this XML definition:
<domain type='kvm'>
<name>debug</name>
<memory unit='KiB'>8388608</memory>
<vcpu>4</vcpu>
<os>
<type arch='ppc64le' machine='pseries-rhel8.2.0'>hvm</type>
</os>
<devices>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/debug.qcow2'/>
<target dev='vda' bus='virtio'/>
</disk>
<interface type='network'>
<source network='default'/>
</interface>
<console type='pty'>
<target type='virtio' port='0'/>
</console>
</devices>
</domain> - virsh start debug && virsh console debug
Results
After less than a minute, kernel boot messages should appear in the console. When it's not working, these logs will stay on the screen:
instantiating rtas at 0x000000002fff0000... done
prom_hold_cpus: skipped
copying OF device tree...
Building dt strings...
Building dt structure...
Device tree strings 0x0000000009ee0000 -> 0x0000000009ee0b71
Device tree struct 0x0000000009ef0000 -> 0x0000000009f00000
After this happens, you can run virsh destroy debug; virsh edit debug and add a <console type='pty'/> node inside the {{<devices> node{}}}
With these changes, the VM will boot (virsh start debug && virsh console)
- links to
-
RHSA-2023:120326 virt:rhel security bug fix and enhancement update
-
RHSA-2023:121239 virt:rhel bug fix and enhancement update
- mentioned on