Red Hat Bugzilla – Bug 1328401
watchdog's action moved to 'pause' automatically when start a guest with watchdog's action setting to 'dump'
Last modified: 2016-11-03 14:43:12 EDT
Description of problem: Setting watchdog's action to 'dump', then start the guest, watchdog's action will be moved to 'pause' automatically. Version-Release number of selected component: libvirt-1.3.3-2.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.Add watchdog device and set action to 'dump': ... <watchdog model='i6300esb' action='dump'/> ... 2.Start the guest: #virsh start rhel7.1 3.Check the active xml: #virsh dumpxml rhel7.1 | grep -A5 watchdog <watchdog model='i6300esb' action='pause'> <alias name='watchdog0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </watchdog> ... 4.Turn the watchdog on in the guest, after some seconds, the guest becomes paused status and no dump file in the auto dump path: #echo 1 > /dev/watchdog check the guest status after some seconds: #virsh list Id Name State ---------------------------------------------------- 2 rhel7.1 paused Actual results: When start the guest, the watchdog's action moved from 'dump' to 'pause' automatically. Expected results: 1.In step3, the watchdog's action should be still 'dump'; 2.In step4, should generate dump file in auto dump path and guest still be running; Additional info: It works correctly with libvirt-1.2.17-13.el7.x86_64
This was already fixed upstream: commit a91177c8f7b432e67d2e232650d7debbbfc694da Author: Cole Robinson <crobinso@redhat.com> Date: Wed Apr 13 11:20:19 2016 -0400 qemu: command: don't overwrite watchdog dump action The watchdog cli refactoring in 4666b762 dropped the temporary variable we use to convert to action=dump to action=pause for the qemu cli, and stored the converted value in the domain structure. Our other watchdog handling code then treated it as though the user requested action=pause, which broke action=dump handling. Revive the temporary variable to fix things. v1.3.3-130-ga91177c
I'm not really keyed into the RHEL process, so resetting assignee
Reproduce on build libvirt-1.3.3-2.el7.x86_64, verify pass on build libvirt-1.3.4-1.el7.x86_64 Steps: 1.Add watchdog device and set action to 'dump': ... <watchdog model='i6300esb' action='dump'/> ... 2.Start the guest: #virsh start rhel7.2 3. # ps aux|grep rhel7.2 -device i6300esb,id=watchdog0,bus=pci.0,addr=0xa -watchdog-action *pause* 4. # virsh dumpxml rhel7.2|grep watchdog <watchdog model='i6300esb' action='*dump*'> <alias name='watchdog0'/> </watchdog> 5.In guest: #echo 1 > /dev/watchdog 6.After 30s, check dump file: # ls /var/lib/libvirt/qemu/dump/ rhel7.2-1462970658
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, 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://rhn.redhat.com/errata/RHSA-2016-2577.html