Bug 1967087
| Summary: | XML output of crm_resource --digests is not valid against pacemaker api-result.rng schema | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Miroslav Lisik <mlisik> |
| Component: | pacemaker | Assignee: | Chris Lumens <clumens> |
| Status: | CLOSED ERRATA | QA Contact: | cluster-qe <cluster-qe> |
| Severity: | low | Docs Contact: | |
| Priority: | urgent | ||
| Version: | 8.4 | CC: | cluster-maint, kgaillot, msmazova |
| Target Milestone: | rc | Keywords: | Triaged |
| Target Release: | 8.5 | Flags: | pm-rhel:
mirror+
|
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | pacemaker-2.1.0-2.el8 | Doc Type: | No Doc Update |
| Doc Text: |
This would not generally affect end users
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2021-11-09 18:44:54 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: | |||
Fixed upstream by commit 03b32020 before fix
-----------
[root@virt-044 ~]# rpm -q pacemaker
pacemaker-2.0.5-9.el8.x86_64
get digests from crm_resource
[root@virt-044 ~]# crm_resource --digests --output-as=xml -r fence-virt-044 -N virt-044 | tee digests.xml
<pacemaker-result api-version="2.3" request="crm_resource --digests --output-as=xml -r fence-virt-044 -N virt-044">
<digests resource="fence-virt-044" node="virt-044" task="start" interval="0ms">
<digest type="all" hash="19010cabdecc1188ed059dcae6913e18">
<parameters pcmk_host_check="static-list" delay="5" pcmk_host_map="virt-044:virt-044.cluster-qe.lab.eng.brq.redhat.com" pcmk_host_list="virt-044"/>
</digest>
<digest type="nonprivate" hash="65f33f88eda6bf199167c078f9ba2d6c">
<parameters delay="5"/>
</digest>
</digests>
<status code="0" message="OK"/>
</pacemaker-result>
Validate against api-result.rng
[root@virt-044 ~]# xmllint --noout --relaxng /usr/share/pacemaker/api/api-result.rng digests.xml
digests.xml:1: element pacemaker-result: Relax-NG validity error : Expecting element status, got digests
digests.xml:1: element pacemaker-result: Relax-NG validity error : Element pacemaker-result failed to validate content
digests.xml fails to validate
[root@virt-044 ~]# echo $?
3
after fix
----------
[root@virt-539 ~]# rpm -q pacemaker
pacemaker-2.1.0-2.el8.x86_64
get digests from crm_resource
[root@virt-539 ~]# crm_resource --digests --output-as=xml -r fence-virt-539 -N virt-539 | tee digests.xml
<pacemaker-result api-version="2.9" request="crm_resource --digests --output-as=xml -r fence-virt-539 -N virt-539">
<digests resource="fence-virt-539" node="virt-539" task="start" interval="0ms">
<digest type="all" hash="b9c99450cb1742284b1da5b3554529b2">
<parameters pcmk_host_check="static-list" delay="5" pcmk_host_map="virt-539:virt-539.cluster-qe.lab.eng.brq.redhat.com" pcmk_host_list="virt-539"/>
</digest>
<digest type="nonprivate" hash="65f33f88eda6bf199167c078f9ba2d6c">
<parameters delay="5"/>
</digest>
</digests>
<status code="0" message="OK"/>
</pacemaker-result>
Validate against api-result.rng
[root@virt-539 ~]# xmllint --noout --relaxng /usr/share/pacemaker/api/api-result.rng digests.xml
digests.xml validates
[root@virt-539 ~]# echo $?
0
marking verified in pacemaker-2.1.0-2.el8.x86_64
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 (pacemaker 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/RHEA-2021:4267 |
Description of problem: XML output of crm_resource --digests is not valid against pacemaker api-result.rng schema. Version-Release number of selected component (if applicable): pacemaker-2.0.5-9.el8_4.1 How reproducible: always Steps to Reproduce: 1. get digests from crm_resource # crm_resource --digests --output-as=xml -r fence-scsi -N r8-node-02 | tee digests.xml <pacemaker-result api-version="2.3" request="crm_resource --digests --output-as=xml -r fence-scsi -N r8-node-02"> <digests resource="fence-scsi" node="r8-node-02" task="start" interval="0ms"> <digest type="all" hash="a9d324c89a23c28259ae5ea81fbc2de0"> <parameters debug_file="/tmp/fence_scsi_debug.log" pcmk_host_check="static-list" pcmk_host_list="r8-node-01 r8-node-02 r8-node-03" pcmk_reboot_action="off" devices="/dev/disk/by-id/scsi-360014052bc36324cf7d4a709a959340b"/> </digest> <digest type="nonprivate" hash="0a64471411473e118094abe31f594859"> <parameters debug_file="/tmp/fence_scsi_debug.log" devices="/dev/disk/by-id/scsi-360014052bc36324cf7d4a709a959340b"/> </digest> </digests> <status code="0" message="OK"/> </pacemaker-result> 2. Validate against api-result.rng # xmllint --noout --relaxng /usr/share/pacemaker/api/api-result.rng digests.xml digests.xml:1: element pacemaker-result: Relax-NG validity error : Expecting element status, got digests digests.xml:1: element pacemaker-result: Relax-NG validity error : Element pacemaker-result failed to validate content digests.xml fails to validate # echo $? 3 Actual results: Validation failed. Expected results: Validation succeeded. Additional info: It looks like that schema '/usr/share/pacemaker/api/digests-2.6.rng' is missing elements <element name="digests"> and <element name="digest"> inside theirs corresponding <define> elements.