Bug 2187133

Summary: Two iTCO watchdogs should not be supported
Product: Red Hat Enterprise Linux 9 Reporter: Lili Zhu <lizhu>
Component: libvirtAssignee: Martin Kletzander <mkletzan>
libvirt sub component: General QA Contact: Lili Zhu <lizhu>
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: unspecified CC: jdenemar, lmen, mkletzan, mprivozn, virt-maint, xuzhang
Version: 9.3Keywords: Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-9.3.0-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-11-07 08:31:17 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: 9.3.0
Embargoed:

Description Lili Zhu 2023-04-17 03:03:43 UTC
Description of problem:
Two iTCO watchdogs should be not supported

Version-Release number of selected component (if applicable):
libvirt-9.2.0-1.el9.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Prepare a guest with the following xml snippet
    <watchdog model='itco' action='reset'>
      <alias name='watchdog0'/>
    </watchdog>
    <watchdog model='itco' action='reset'>
      <alias name='watchdog1'/>
    </watchdog>

2. define and start the guest
# virsh define avocado-vt-vm1.xml 
Domain 'avocado-vt-vm1' defined from avocado-vt-vm1.xml

# virsh start avocado-vt-vm1 
Domain 'avocado-vt-vm1' started


Actual results:
Guest with two itco watchdog can be started

Expected results:
Guest with two itco watchdog can not be started

Additional info:
Prepare a guest with 3 itco watchdog devices
# virsh define avocado-vt-vm1.xml 
error: Failed to define domain from avocado-vt-vm1.xml
error: unsupported configuration: Multiple iTCO watchdogs are not supported

Comment 1 Martin Kletzander 2023-04-19 14:29:30 UTC
Patch series proposed upstream:

https://www.mail-archive.com/libvir-list@redhat.com/msg237398.html

Comment 2 Martin Kletzander 2023-04-20 08:54:29 UTC
Fixed upstream with v9.2.0-268-gd56ddd0d19e3:

commit d56ddd0d19e34a8c0a7293473d8d4906e2590cd1
Author: Martin Kletzander <mkletzan>
Date:   Wed Apr 19 14:19:16 2023 +0200

    qemu: Check all watchdogs for iTCO duplicates

Comment 3 Lili Zhu 2023-05-08 07:49:34 UTC
Tested this bug with:
libvirt-9.3.0-1.el9.x86_64

1. Prepare a guest with the following xml snippet
    <watchdog model='itco' action='reset'>
      <alias name='watchdog0'/>
    </watchdog>
    <watchdog model='itco' action='reset'>
      <alias name='watchdog1'/>
    </watchdog>

2. define the guest
# virsh define avocado-vt-vm1.xml 
error: Failed to define domain from avocado-vt-vm1.xml
error: unsupported configuration: domain can only have one watchdog with model 'itco'

Comment 6 Lili Zhu 2023-05-21 09:13:57 UTC
Verified with:
libvirt-9.3.0-1.el9.x86_64

Scenario 1:
1. Prepare a guest with the following xml snippet
    <watchdog model='itco' action='reset'>
      <alias name='watchdog0'/>
    </watchdog>
    <watchdog model='itco' action='reset'>
      <alias name='watchdog1'/>
    </watchdog>

2. define the guest
# virsh define avocado-vt-vm1.xml 
error: Failed to define domain from avocado-vt-vm1.xml
error: unsupported configuration: domain can only have one watchdog with model 'itco'

Scenario 2:
1. Prepare a guest, check its xml about watchdog
# virsh dumpxml avocado-vt-vm1 --xpath //watchdog
<watchdog model="itco" action="reset">
  <alias name="watchdog0"/>
</watchdog>

2. coldplug a itco watchdog device
# virsh attach-device avocado-vt-vm1 watchdog.xml --config
error: Failed to attach device from watchdog.xml
error: Requested operation is not valid: device is already in the domain configuration

As the testing steps match with the expected ones, mark the bug as verified.

Comment 8 errata-xmlrpc 2023-11-07 08:31:17 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 (Moderate: libvirt security, 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/RHSA-2023:6409