Bug 1328401

Summary: watchdog's action moved to 'pause' automatically when start a guest with watchdog's action setting to 'dump'
Product: Red Hat Enterprise Linux 7 Reporter: yafu <yafu>
Component: libvirtAssignee: Libvirt Maintainers <libvirt-maint>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: dyuan, fjin, mzhan, pkrempa, rbalakri, zpeng
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-1.3.4-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 18:43:12 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:

Description yafu 2016-04-19 10:26:32 UTC
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

Comment 1 Peter Krempa 2016-04-19 10:53:49 UTC
This was already fixed upstream:

commit a91177c8f7b432e67d2e232650d7debbbfc694da
Author: Cole Robinson <crobinso>
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

Comment 3 Cole Robinson 2016-05-03 21:07:22 UTC
I'm not really keyed into the RHEL process, so resetting assignee

Comment 4 Fangge Jin 2016-05-11 12:45:47 UTC
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

Comment 6 errata-xmlrpc 2016-11-03 18:43:12 UTC
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