Bug 1509908
| Summary: | ib700 watchdog should be validated as none address type | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux Advanced Virtualization | Reporter: | Fangge Jin <fjin> |
| Component: | libvirt | Assignee: | Andrea Bolognani <abologna> |
| Status: | CLOSED ERRATA | QA Contact: | Lili Zhu <lizhu> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 8.3 | CC: | ddepaula, dyuan, hhan, jdenemar, jtomko, knoel, mprivozn, virt-maint, xuzhang, yafu, yalzhang, zpeng |
| Target Milestone: | rc | Keywords: | Upstream |
| Target Release: | 8.3 | Flags: | pm-rhel:
mirror+
|
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-6.10.0-1.el8 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2021-05-25 06:41:16 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: | 6.8.0 |
| Embargoed: | |||
Forget to mention that the qemu-kvm-rhev version is qemu-kvm-rhev-2.10.0-4.el7.x86_64 In fact ib700 has no isa address. Check that in libvirt-6.6.0-2.module+el8.3.0+7567+dc41c0a9.x86_64 qemu-kvm-5.1.0-3.module+el8.3.0+7708+740a1315.x86_64:
➜ ~ /usr/libexec/qemu-kvm -device ib700,\?
There are no options for ib700.
Start a VM and then check qtree:
➜ ~ virsh qemu-monitor-command new --hmp info qtree|grep ib -A 10
--
dev: ib700, id "watchdog0"
dev: isa-serial, id "serial0"
index = 0 (0x0)
iobase = 1016 (0x3f8)
irq = 4 (0x4)
chardev = "charserial0"
wakeup = 0 (0x0)
isa irq 4
dev: port92, id ""
gpio-out "a20" 1
dev: i8042, id ""
So libvirt should pop up more clear error here.
The results of comment4 could be reproduced on qemu-kvm-1.5.3-175.el7.x86_64 Merged upstream as: be28a7fbd6 qemu_validate: Only allow none address for watchdog ib700 v6.7.0-34-gbe28a7fbd6 Verify this bug with:
libvirt-6.10.0-1.module+el8.4.0+8898+a84e86e1.x86_64
qemu-kvm-4.2.0-37.module+el8.4.0+8837+c89bcfe6.x86_64
positive scenario:
1. prepare a guest with ib700 watchdog, set the action as 'reset'
...
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type>
<boot dev='hd'/>
</os>
...
<watchdog model='ib700' action='reset'/>
..
2. trigger the watchdog in guest
[root@localhost ~]# modprobe ib700wdt
[root@localhost ~]# lsmod |grep ib700
ib700wdt 16384 0
[root@localhost ~]# echo 1 > /dev/watchdog
[ 250.680295] ib700wdt: WDT device closed unexpectedly. WDT will not stop!
3. wait about 30 seconds, guest will restart automatically
4. try to set the action as 'none', 'poweroff', 'inject-nmi', 'pause',
then trigger watchdog in guest, the guest state will just as expected.
negative scenario:
try to edit guest xml, added a watchdog device with isa/PCI address
# virsh edit vm1
...
<watchdog model='ib700' action='reset'>
<address type='isa' iobase='0x505'/>
</watchdog>
...
error: unsupported configuration: ib700 model of watchdog does not support configuring the address
Failed. Try again? [y,n,i,f,?]:
As the feature related to the fixing matches with expected result, mark the bug as verified 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:2098 |
Description of problem: Guest fails to start when set ib700 watchdog address type to isa Version-Release number of selected component (if applicable): libvirt-3.9.0-1.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.Prepare a guest with ib700 watchdog and address type is isa: <watchdog model='ib700' action='dump'> <address type='isa' iobase='0x505'/> </watchdog> 2.Start guest: # virsh start foo=1 error: Failed to start domain foo=1 error: internal error: qemu unexpectedly closed the monitor: 2017-11-06T10:17:18.509427Z qemu-kvm: -device ib700,id=watchdog0,iobase=0x505,irq=0x0: Property '.iobase' not found Actual results: Guest fails to start Expected results: Guest can start successfully Additional info: 1. Can reproduce with libvirt-3.2.0-14.el7_4.3.x86_64 2. Can't reproduce with libvirt-1.2.8-16.el7_1.5.x86_64 The qemu command line is: -device ib700,id=watchdog0 -watchdog-action pause 3. I didn't try other libvirt versions