pcp/redhat-issues-RHEL-50693-hacluster-metrics-update.patch
2024-08-07 06:56:51 +00:00

722 lines
32 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

commit 23c6a7f872446b6c92a1e899e2763827e9728d5d
Author: Paul Evans <pevans@redhat.com>
Date: Mon Aug 5 14:27:51 2024 +0100
pmdahacluster: handle pacemaker 2.1.6 crm_mon output changes
Update the handling of crm_mon output for pacemaker 2.1.6 to handle the
additional fields included in this release.
Additional test root hacluster-root-003.tgz added to exercise these changes
while the original hacluster root tests exercises older crm_mon output
formats.
This patch satisfies RHEL-50693
diff -Naurp pcp-6.2.2.orig/qa/1897.out pcp-6.2.2/qa/1897.out
--- pcp-6.2.2.orig/qa/1897.out 2023-11-16 17:51:39.000000000 +1100
+++ pcp-6.2.2/qa/1897.out 2024-08-07 15:49:16.196678155 +1000
@@ -1314,3 +1314,629 @@ ERROR SUMMARY: 0 errors from 0 contexts
== done
+== Checking metric descriptors and values - hacluster-root-003.tgz
+
+ha_cluster.corosync.member_votes.local PMID: 155.6.1 [Votes that are local to this node]
+ Data Type: 32-bit unsigned int InDom: 155.5 0x26c00005
+ Semantics: instant Units: count
+Help:
+The quorum votes which are local to this node in the cluster.
+ inst [0 or "rhel9-node1"] value 1
+ inst [1 or "rhel9-node2"] value 0
+
+ha_cluster.corosync.member_votes.node_id PMID: 155.6.2 [Node ID]
+ Data Type: 64-bit unsigned int InDom: 155.5 0x26c00005
+ Semantics: instant Units: count
+Help:
+The full corosync ID for the nodes in the cluster.
+ inst [0 or "rhel9-node1"] value 1
+ inst [1 or "rhel9-node2"] value 2
+
+ha_cluster.corosync.member_votes.votes PMID: 155.6.0 [Quorum votes per node]
+ Data Type: 32-bit unsigned int InDom: 155.5 0x26c00005
+ Semantics: instant Units: count
+Help:
+The number of quorum votes allocated to each node in the cluster.
+ inst [0 or "rhel9-node1"] value 1
+ inst [1 or "rhel9-node2"] value 1
+
+ha_cluster.corosync.quorate PMID: 155.7.0 [Value given for quorate]
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
+ Semantics: instant Units: count
+Help:
+The value represents whether or not the cluster is quorate.
+ value 1
+
+ha_cluster.corosync.quorum_votes.expected_votes PMID: 155.7.1 [Expected vote count]
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
+ Semantics: instant Units: count
+Help:
+The number of expected quorum votes for the cluster.
+ value 2
+
+ha_cluster.corosync.quorum_votes.highest_expected PMID: 155.7.2 [Highest expected vote count]
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
+ Semantics: instant Units: count
+Help:
+The highest number of expected quorum votes for the cluster.
+ value 2
+
+ha_cluster.corosync.quorum_votes.quorum PMID: 155.7.4 [Whether cluster is quorate]
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
+ Semantics: instant Units: count
+Help:
+The value reported for the quorate for the cluster.
+ value 1
+
+ha_cluster.corosync.quorum_votes.total_votes PMID: 155.7.3 [Total number of votes]
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
+ Semantics: instant Units: count
+Help:
+The total number of quorum votes for the cluster.
+ value 2
+
+ha_cluster.corosync.ring_errors PMID: 155.7.5 [Number of faulty rings]
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
+ Semantics: instant Units: count
+Help:
+The total number of Corosync rings which are faulty.
+ value 0
+
+ha_cluster.corosync.rings.address PMID: 155.8.1 [IP Address for ring]
+ Data Type: string InDom: 155.6 0x26c00006
+ Semantics: instant Units: count
+Help:
+The IP address locally linked to this ring.
+ inst [0 or "0"] value "192.168.122.148"
+
+ha_cluster.corosync.rings.all PMID: 155.15.0 [Corosync rings information]
+ Data Type: 32-bit unsigned int InDom: 155.13 0x26c0000d
+ Semantics: instant Units: count
+Help:
+Value is 1 if a ring exists. The details of the corresponding ring
+is given as label metadata values for this metric.
+ inst [0 or "0"] value 1
+
+ha_cluster.corosync.rings.node_id PMID: 155.8.2 [ID of the local node]
+ Data Type: 64-bit unsigned int InDom: 155.6 0x26c00006
+ Semantics: instant Units: count
+Help:
+The internal Corosync node ID to the node matched to the ring.
+ inst [0 or "0"] value 1
+
+ha_cluster.corosync.rings.number PMID: 155.8.3 [Ring number]
+ Data Type: 32-bit unsigned int InDom: 155.6 0x26c00006
+ Semantics: instant Units: count
+Help:
+The number for the Corosync ring.
+ inst [0 or "0"] value 0
+
+ha_cluster.corosync.rings.ring_id PMID: 155.8.4 [Ring ID]
+ Data Type: string InDom: 155.6 0x26c00006
+ Semantics: instant Units: count
+Help:
+The internal Corosync ring ID, corresponds to the first node to join.
+ inst [0 or "0"] value "1.9"
+
+ha_cluster.corosync.rings.status PMID: 155.8.0 [Corosync ring status]
+ Data Type: 32-bit unsigned int InDom: 155.6 0x26c00006
+ Semantics: instant Units: count
+Help:
+The status for each Corosync ring in the cluster, a value of 1 is faulty and
+0 is healthy.
+ inst [0 or "0"] value 0
+
+ha_cluster.drbd.al_writes PMID: 155.10.6 [Writes to the activity log]
+ Data Type: 64-bit unsigned int InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+Amount of writes to the activity log area of metadata by the DRBD
+resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.bm_writes PMID: 155.10.7 [Writes to bitmap area]
+ Data Type: 64-bit unsigned int InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+Amount of writes to the bitmap area of metadata by the DRBD resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.connections.all PMID: 155.18.0 [DRBD Peer disk information]
+ Data Type: 32-bit unsigned int InDom: 155.16 0x26c00010
+ Semantics: instant Units: count
+Help:
+Value is 1 if a drbd peer connection exists. The details of the corresponding DRBD peer
+connection is given as label metadata values for this metric.
+No value(s) available!
+
+ha_cluster.drbd.connections.peer_disk_state PMID: 155.11.4 [Peer disk state]
+ Data Type: string InDom: 155.9 0x26c00009
+ Semantics: instant Units: count
+Help:
+The reported peer disk state for the connection.
+No value(s) available!
+
+ha_cluster.drbd.connections.peer_node_id PMID: 155.11.1 [The ID the connection is for]
+ Data Type: string InDom: 155.9 0x26c00009
+ Semantics: instant Units: count
+Help:
+The given peer node ID for which the connection is for.
+No value(s) available!
+
+ha_cluster.drbd.connections.peer_role PMID: 155.11.2 [Role of the connection]
+ Data Type: string InDom: 155.9 0x26c00009
+ Semantics: instant Units: count
+Help:
+The reported role type for the connection.
+No value(s) available!
+
+ha_cluster.drbd.connections.resource PMID: 155.11.0 [Resource that the connection is for]
+ Data Type: string InDom: 155.9 0x26c00009
+ Semantics: instant Units: count
+Help:
+The given resource that the DRBD connection is for each resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.connections.volume PMID: 155.11.3 [Volume number]
+ Data Type: 32-bit unsigned int InDom: 155.9 0x26c00009
+ Semantics: instant Units: count
+Help:
+The reported volume for the connection.
+No value(s) available!
+
+ha_cluster.drbd.connections_pending PMID: 155.11.8 [Number of connections pending]
+ Data Type: 32-bit unsigned int InDom: 155.9 0x26c00009
+ Semantics: instant Units: count
+Help:
+The number of requests sent which have not yet been received by DRBD for the
+resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.connections_received PMID: 155.11.6 [Volume of data received]
+ Data Type: 64-bit unsigned int InDom: 155.9 0x26c00009
+ Semantics: instant Units: count
+Help:
+The volume of data received via the network connection in KiB by DRBD for the
+resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.connections_sent PMID: 155.11.7 [Volume of data sent]
+ Data Type: 64-bit unsigned int InDom: 155.9 0x26c00009
+ Semantics: instant Units: count
+Help:
+The volume of data sent via the network connection in KiB by DRBD for the
+resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.connections_sync PMID: 155.11.5 [Connections in sync]
+ Data Type: float InDom: 155.9 0x26c00009
+ Semantics: instant Units: count
+Help:
+The number of DRBD connections in sync for each resource:volume, this value is
+between 0 to 100.
+No value(s) available!
+
+ha_cluster.drbd.connections_unacked PMID: 155.11.9 [Number of connection not acknowledged]
+ Data Type: 32-bit unsigned int InDom: 155.9 0x26c00009
+ Semantics: instant Units: count
+Help:
+The number of requests sent which have not yet been acknowledged by DRBD for
+the resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.lower_pending PMID: 155.10.9 [Number of open requests]
+ Data Type: 64-bit unsigned int InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+The number of open requests to the local I/O subsystem by DRBD for the
+resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.quorum PMID: 155.10.10 [Quorum status of DRBD resource:volume]
+ Data Type: 32-bit unsigned int InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+The Quorum status of the DRBD resource according to resource:volume, 1 is
+quorate and 0 is non-quorate.
+No value(s) available!
+
+ha_cluster.drbd.read PMID: 155.10.5 [Amount read by DRBD resource]
+ Data Type: 32-bit unsigned int InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+Amount in KiB read by the DRBD resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.resources.all PMID: 155.17.0 [DRBD resource information]
+ Data Type: 32-bit unsigned int InDom: 155.15 0x26c0000f
+ Semantics: instant Units: count
+Help:
+Value is 1 if a drbd resource exists. The details of the corresponding drbd resource
+is given as label metadata values for this metric.
+No value(s) available!
+
+ha_cluster.drbd.resources.disk_state PMID: 155.10.3 [Disk state]
+ Data Type: string InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+The current reported disk state of for the resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.resources.resource PMID: 155.10.0 [Name of the resource]
+ Data Type: string InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+The name given for the DRBD resource for each resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.resources.role PMID: 155.10.1 [Role of the resource]
+ Data Type: string InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+The reported role for the DRBD resource for each resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.resources.volume PMID: 155.10.2 [Volume of the resource]
+ Data Type: string InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+The volume number of the resource for each resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.split_brain PMID: 155.10.11 [Signal for split brain detection.]
+ Data Type: 32-bit unsigned int InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+This metric signals if there has been a split brain occurring in DRBD for the
+resource:volume, value is 1 is a split brain has been detected.
+No value(s) available!
+
+ha_cluster.drbd.upper_pending PMID: 155.10.8 [Block I/O requests pending]
+ Data Type: 64-bit unsigned int InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+The number of the block I/O requests forwarded but not yet answered by DRBD
+for the resource:volume.
+No value(s) available!
+
+ha_cluster.drbd.written PMID: 155.10.4 [Amount written to DRBD resource]
+ Data Type: 32-bit unsigned int InDom: 155.8 0x26c00008
+ Semantics: instant Units: count
+Help:
+Amount in KiB written to the DRBD resource:volume.
+No value(s) available!
+
+ha_cluster.pacemaker.config_last_change PMID: 155.0.0 [Unix timestamp corresponding to last Pacemaker configuration change]
+ Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
+ Semantics: instant Units: count
+Help:
+Unix timestamp in seconds corresponding to the last time that the Pacemaker
+configuration was changed on the system.
+ value 1687428694
+
+ha_cluster.pacemaker.fail_count PMID: 155.1.0 [The number of fail count recorded]
+ Data Type: 64-bit unsigned int InDom: 155.0 0x26c00000
+ Semantics: instant Units: count
+Help:
+The number of fail count per node and resource ID, the actual maximum value
+depends on Pacemaker internals.
+ inst [0 or "rhel9-node1:VirtualIP"] value 0
+
+ha_cluster.pacemaker.location_constraints.all PMID: 155.12.0 [Location constraint information]
+ Data Type: 32-bit unsigned int InDom: 155.10 0x26c0000a
+ Semantics: instant Units: count
+Help:
+Value is 1 if a location constraint exists. The details of the location constraint
+is given as label metadata values for this metric.
+No value(s) available!
+
+ha_cluster.pacemaker.location_constraints.node PMID: 155.2.0 [Node of the location constraint]
+ Data Type: string InDom: 155.1 0x26c00001
+ Semantics: instant Units: count
+Help:
+The node that the location constraint applies to in the cluster.
+No value(s) available!
+
+ha_cluster.pacemaker.location_constraints.resource PMID: 155.2.1 [Resource of the location constraint]
+ Data Type: string InDom: 155.1 0x26c00001
+ Semantics: instant Units: count
+Help:
+The resource that the location constraint applies to in the cluster.
+No value(s) available!
+
+ha_cluster.pacemaker.location_constraints.role PMID: 155.2.2 [Resource role of the location constraint]
+ Data Type: string InDom: 155.1 0x26c00001
+ Semantics: instant Units: count
+Help:
+The resource role that the location constraint applies to, if any.
+No value(s) available!
+
+ha_cluster.pacemaker.location_constraints.score PMID: 155.2.3 [Score of the location constraint]
+ Data Type: string InDom: 155.1 0x26c00001
+ Semantics: instant Units: count
+Help:
+The score given to the location constraint by Pacemaker, the value depends on
+Pacemaker internals.
+No value(s) available!
+
+ha_cluster.pacemaker.migration_threshold PMID: 155.1.1 [Migration threshold per node and resource ID]
+ Data Type: 64-bit unsigned int InDom: 155.0 0x26c00000
+ Semantics: instant Units: count
+Help:
+The value for the migration threshold per node and resource ID set by the
+Pacemaker cluster.
+ inst [0 or "rhel9-node1:VirtualIP"] value 1000000
+
+ha_cluster.pacemaker.node_attributes PMID: 155.4.0 [Metadata used by Resource Agents]
+ Data Type: string InDom: 155.3 0x26c00003
+ Semantics: instant Units: count
+Help:
+The raw values for the cluster metadata attributes and their value per node as
+used by the Resource Agents.
+No value(s) available!
+
+ha_cluster.pacemaker.node_attributes_all PMID: 155.13.0 [Metadata information]
+ Data Type: 32-bit unsigned int InDom: 155.11 0x26c0000b
+ Semantics: instant Units: count
+Help:
+Value is 1 if a node metadata exists. The details of the node metadata
+is given as label metadata values for this metric.
+No value(s) available!
+
+ha_cluster.pacemaker.nodes.status.dc PMID: 155.3.8 [Whether the node status is given as the DC]
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
+ Semantics: instant Units: count
+Help:
+Whether the DC status is reported by the node in the cluster, a
+value of 1 confirms the node status as the designated coordinator.
+ inst [0 or "rhel9-node1"] value 1
+ inst [1 or "rhel9-node2"] value 0
+
+ha_cluster.pacemaker.nodes.status.expected_up PMID: 155.3.7 [Whether the node status is given as expected_up]
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
+ Semantics: instant Units: count
+Help:
+Whether the expected_up status is reported by the node in the cluster, a
+value of 1 confirms the node status as expected_up.
+ inst [0 or "rhel9-node1"] value 1
+ inst [1 or "rhel9-node2"] value 1
+
+ha_cluster.pacemaker.nodes.status.maintenance PMID: 155.3.3 [Whether the node status is given as maintenance]
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
+ Semantics: instant Units: count
+Help:
+Whether the maintenance status is reported by the node in the cluster, a
+value of 1 confirms the node status as online.
+ inst [0 or "rhel9-node1"] value 0
+ inst [1 or "rhel9-node2"] value 0
+
+ha_cluster.pacemaker.nodes.status.online PMID: 155.3.0 [Whether the node status is given as online]
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
+ Semantics: instant Units: count
+Help:
+Whether the online status is reported by the node in the cluster, a value of
+1 confirms the node status as online.
+ inst [0 or "rhel9-node1"] value 1
+ inst [1 or "rhel9-node2"] value 1
+
+ha_cluster.pacemaker.nodes.status.pending PMID: 155.3.4 [Whether the node status is given as pending]
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
+ Semantics: instant Units: count
+Help:
+Whether the pending status is reported by the node in the cluster, a value of
+1 confirms the node status as pending.
+ inst [0 or "rhel9-node1"] value 0
+ inst [1 or "rhel9-node2"] value 0
+
+ha_cluster.pacemaker.nodes.status.shutdown PMID: 155.3.6 [Whether the node status is given as shutdown]
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
+ Semantics: instant Units: count
+Help:
+Whether the shutdown status is reported by the node in the cluster, a value
+of 1 confirms the node status as shutdown.
+ inst [0 or "rhel9-node1"] value 0
+ inst [1 or "rhel9-node2"] value 0
+
+ha_cluster.pacemaker.nodes.status.standby PMID: 155.3.1 [Whether the node status is given as standby]
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
+ Semantics: instant Units: count
+Help:
+Whether the standby status is reported by the node in the cluster, a value of
+1 confirms the node status as standby.
+ inst [0 or "rhel9-node1"] value 0
+ inst [1 or "rhel9-node2"] value 0
+
+ha_cluster.pacemaker.nodes.status.standby_on_fail PMID: 155.3.2 [Whether the node status is given as standby_on_fail]
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
+ Semantics: instant Units: count
+Help:
+Whether the standby_on_fail status is reported by the node in the cluster,
+a value of 1 confirms the node status as standby_on_fail.
+ inst [0 or "rhel9-node1"] value 0
+ inst [1 or "rhel9-node2"] value 0
+
+ha_cluster.pacemaker.nodes.status.unclean PMID: 155.3.5 [Whether the node status is given as unclean]
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
+ Semantics: instant Units: count
+Help:
+Whether the unclean status is reported by the node in the cluster, a value of
+1 confirms the node status as unclean.
+ inst [0 or "rhel9-node1"] value 0
+ inst [1 or "rhel9-node2"] value 0
+
+ha_cluster.pacemaker.nodes.type PMID: 155.3.9 [The type given to the node]
+ Data Type: string InDom: 155.2 0x26c00002
+ Semantics: instant Units: count
+Help:
+The membership type given to the node in the Pacemaker cluster.
+ inst [0 or "rhel9-node1"] value "member"
+ inst [1 or "rhel9-node2"] value "member"
+
+ha_cluster.pacemaker.resources.agent PMID: 155.5.0 [The name of the resource agent for this resource]
+ Data Type: string InDom: 155.4 0x26c00004
+ Semantics: instant Units: count
+Help:
+The name given for the resource agent for the given resource instance in the
+cluster.
+ inst [0 or "VirtualIP:rhel9-node1"] value "ocf:heartbeat:IPaddr2"
+
+ha_cluster.pacemaker.resources.all PMID: 155.14.0 [Pacemaker resources information]
+ Data Type: 32-bit unsigned int InDom: 155.12 0x26c0000c
+ Semantics: instant Units: count
+Help:
+Value is 1 if a resources exists. The details of the resource
+is given as label metadata values for this metric.
+ inst [0 or "VirtualIP:rhel9-node1"] value 1
+
+ha_cluster.pacemaker.resources.clone PMID: 155.5.1 [The name of the clone given for this resource]
+ Data Type: string InDom: 155.4 0x26c00004
+ Semantics: instant Units: count
+Help:
+The name given for the clone for the given resource instance in the cluster,
+if any.
+ inst [0 or "VirtualIP:rhel9-node1"] value ""
+
+ha_cluster.pacemaker.resources.group PMID: 155.5.2 [The name of the group given for this resource]
+ Data Type: string InDom: 155.4 0x26c00004
+ Semantics: instant Units: count
+Help:
+The name given for the group for the given resource instance in the cluster,
+if any.
+ inst [0 or "VirtualIP:rhel9-node1"] value ""
+
+ha_cluster.pacemaker.resources.managed PMID: 155.5.3 [Value is either true or false]
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
+ Semantics: instant Units: count
+Help:
+The value of whether the resource instance in the cluster is managed or not.
+ inst [0 or "VirtualIP:rhel9-node1"] value 1
+
+ha_cluster.pacemaker.resources.role PMID: 155.5.4 [The given role state]
+ Data Type: string InDom: 155.4 0x26c00004
+ Semantics: instant Units: count
+Help:
+The value of the given role state for the resource instance in the cluster.
+ inst [0 or "VirtualIP:rhel9-node1"] value "Started"
+
+ha_cluster.pacemaker.resources.status.active PMID: 155.5.5 [Whether the resources status is given as active]
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
+ Semantics: instant Units: count
+Help:
+Whether the active status is reported by the resource in the cluster, a
+value of 1 confirms the resource status as active.
+ inst [0 or "VirtualIP:rhel9-node1"] value 1
+
+ha_cluster.pacemaker.resources.status.blocked PMID: 155.5.7 [Whether the resources status is given as blocked]
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
+ Semantics: instant Units: count
+Help:
+Whether the blocked status is reported by the resource in the cluster, a
+value of 1 confirms the resource status as blocked.
+ inst [0 or "VirtualIP:rhel9-node1"] value 0
+
+ha_cluster.pacemaker.resources.status.failed PMID: 155.5.8 [Whether the resources status is given as failed]
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
+ Semantics: instant Units: count
+Help:
+Whether the failed status is reported by the resource in the cluster, a
+value of 1 confirms the resource status as failed.
+ inst [0 or "VirtualIP:rhel9-node1"] value 0
+
+ha_cluster.pacemaker.resources.status.failure_ignored PMID: 155.5.9 [Whether the resources status is given as failure_ignored]
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
+ Semantics: instant Units: count
+Help:
+Whether the failure_ignored status is reported by the resource in the
+cluster, a value of 1 confirms the resource status as failure_ignored.
+ inst [0 or "VirtualIP:rhel9-node1"] value 0
+
+ha_cluster.pacemaker.resources.status.orphaned PMID: 155.5.6 [Whether the resources status is given as orphaned]
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
+ Semantics: instant Units: count
+Help:
+Whether the orphaned status is reported by the resource in the cluster, a
+value of 1 confirms the resource status as orphaned.
+ inst [0 or "VirtualIP:rhel9-node1"] value 0
+
+ha_cluster.pacemaker.stonith_enabled PMID: 155.0.1 [Whether stonith is enabled in the cluster]
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
+ Semantics: instant Units: count
+Help:
+Value returns as to whether stonith is enabled or disabled for the cluster.
+ value 0
+
+ha_cluster.sbd.all PMID: 155.16.0 [SBD device information]
+ Data Type: 32-bit unsigned int InDom: 155.14 0x26c0000e
+ Semantics: instant Units: count
+Help:
+Value is 1 if a sbd device exists. The details of the corresponding SBD device
+is given as label metadata values for this metric.
+No value(s) available!
+
+ha_cluster.sbd.devices.path PMID: 155.9.0 [Path of SBD device]
+ Data Type: string InDom: 155.7 0x26c00007
+ Semantics: instant Units: count
+Help:
+The full path given to each SBD device.
+No value(s) available!
+
+ha_cluster.sbd.devices.status PMID: 155.9.1 [Status of the SBD device]
+ Data Type: string InDom: 155.7 0x26c00007
+ Semantics: instant Units: count
+Help:
+The current status given for each of the SBD devices, the value is one of
+healthy or unhealthy.
+No value(s) available!
+
+ha_cluster.sbd.timeouts.allocate PMID: 155.9.3 [allocate timeout value]
+ Data Type: 32-bit unsigned int InDom: 155.7 0x26c00007
+ Semantics: instant Units: count
+Help:
+The value threshold for allocate timeouts for the given SBD device.
+No value(s) available!
+
+ha_cluster.sbd.timeouts.loop PMID: 155.9.4 [loop timeout value]
+ Data Type: 32-bit unsigned int InDom: 155.7 0x26c00007
+ Semantics: instant Units: count
+Help:
+The value threshold for loop timeouts for the given SBD device.
+No value(s) available!
+
+ha_cluster.sbd.timeouts.mgswait PMID: 155.9.2 [mgswait timeout value]
+ Data Type: 32-bit unsigned int InDom: 155.7 0x26c00007
+ Semantics: instant Units: count
+Help:
+The value threshold for msgwait timeouts for the given SBD device.
+No value(s) available!
+
+ha_cluster.sbd.timeouts.watchdog PMID: 155.9.5 [watchdog timeout value]
+ Data Type: 32-bit unsigned int InDom: 155.7 0x26c00007
+ Semantics: instant Units: count
+Help:
+The value threshold for watchdog timeouts for the given SBD device.
+No value(s) available!
+== Checking with valgrind - hacluster-root-003.tgz
+=== std out ===
+
+ha_cluster.pacemaker.config_last_change
+ value 1687428694
+
+ha_cluster.corosync.quorate
+ value 1
+
+ha_cluster.sbd.devices.path
+No value(s) available!
+
+ha_cluster.drbd.split_brain
+No value(s) available!
+=== std err ===
+=== filtered valgrind report ===
+Memcheck, a memory error detector
+Command: pminfo -L -K clear -K add,155,PCP_PMDAS_DIR/hacluster/pmda_hacluster.so,hacluster_init -f ha_cluster.pacemaker.config_last_change ha_cluster.corosync.quorate ha_cluster.sbd.devices.path ha_cluster.drbd.split_brain
+LEAK SUMMARY:
+definitely lost: 0 bytes in 0 blocks
+indirectly lost: 0 bytes in 0 blocks
+ERROR SUMMARY: 0 errors from 0 contexts ...
+
+== done
+
diff -Naurp pcp-6.2.2.orig/qa/hacluster/hacluster-root-003.tgz pcp-6.2.2/qa/hacluster/hacluster-root-003.tgz
--- pcp-6.2.2.orig/qa/hacluster/hacluster-root-003.tgz 1970-01-01 10:00:00.000000000 +1000
+++ pcp-6.2.2/qa/hacluster/hacluster-root-003.tgz 2024-08-07 15:51:27.795737748 +1000
@@ -0,0 +1,13 @@
+<1F><03>[[s<>6Ϋ<>+<2B><>C<EFBFBD>YSJ<>b<EFBFBD><62><EFBFBD><1B>[o<>Kco;}<7D>@$(!& <00>h<EFBFBD>?~<7E>@<40><>e<EFBFBD><65>&<26><>!&c<> p<><70>Å'<27>n<EFBFBD><6E><EFBFBD><13>.<2E><>p<EFBFBD><70>{<7B>a<EFBFBD><61><EFBFBD>lOz<4F><7A>`<60><><05><00><><EFBFBD><EFBFBD>~<7E> ~j<><6A>JSIȓ<49>-i<><69><1E><><EFBFBD>ϴu<CFB4><75> &`&?Q$<24>1<EFBFBD><07><><1F><><EFBFBD><EFBFBD><EFBFBD>?h<><68>m<><6D>!<21><>(<28>Y[->*<2A>{<7B>?<18>zU<7A><0F><><EFBFBD>a7=!ݏ(Ý<> <0B><><EFBFBD>?:<3A><><EFBFBD><19>:,[<5B>U<>V+<2B><><EFBFBD><EFBFBD>^<5E><><EFBFBD>u
+AB<41>NcFu!<21>T1=<3D><><EFBFBD><EFBFBD>q;<3B>Ȓ&<<3C><><EFBFBD>+<2B>/<2F>!K<>
<EFBFBD>~<7E>}<7D><11><>zGɊtZ<74>8RM<52><4D>GL<47>M<EFBFBD>{x&~B<><42>W<EFBFBD><6B>w<EFBFBD>(ȿ<><C8BF><01>uǽ޸? A7<41>{<7B><><EFBFBD><EFBFBD><EFBFBD>s<03><>%'~&"֫ޅ g<19>YFs<46><73>PL<50>!<21>Gt<><74><EFBFBD>
+!<21>t<EFBFBD><74><EFBFBD>(<28><><EFBFBD>G/<2F><>ir<1A>,<2C><>BR<42>E<EFBFBD>=<3D><07><><EFBFBD><EFBFBD><03>l<EFBFBD>Ls)r&<26>
D<EFBFBD> <0C>4NJK<4A><4B>"G2<47>+<2B><><EFBFBD>l<EFBFBD>S.<2E><1E> WT<57><54>H<EFBFBD><48><EFBFBD>4eo<><P@oLż·P}<7D>L*<2A><>$]<5D>qt<71>v<EFBFBD>=<3D>O<EFBFBD>`<60>i<EFBFBD><69>~<<18>N<06><><EFBFBD><EFBFBD>x9#<23><<3C>%<25>Y!<21>R<EFBFBD><52><EFBFBD><EFBFBD>N<EFBFBD>PH<50><48>Y<EFBFBD><59>X"<22>]F<>ϑ<EFBFBD><CF91><EFBFBD><EFBFBD><EFBFBD>c<><63><EFBFBD> <20>}<7D><><59>˭<EFBFBD>?<3F><>L<EFBFBD><08>s<EFBFBD><73>p]<5D><><EFBFBD><EFBFBD>x<EFBFBD>y&d<><64>ig_|<7C>h<EFBFBD><68><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<>2<EFBFBD>g[<5B><><EFBFBD>`<60><><EFBFBD><78>?<3F>L<EFBFBD>B<EFBFBD>L<EFBFBD>oAT<>g<EFBFBD><67><EFBFBD>*<2A>F,<2C>E<EFBFBD>7R<37>L<EFBFBD>)<29>Z<EFBFBD>Y<01>3|gO"<22>$<24><>s<EFBFBD>ȶ<EFBFBD><C8B6>J<EFBFBD><4A><EFBFBD>gL<67>Ҽ{_9 <0B><><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD><52>+7XzLNa<4E>х<EFBFBD><D185>}<7D>=<3D><><EFBFBD>d<>!<21>d<08>/8<0F><>,<01><><13>=+<2B>0F<30>R<EFBFBD><52>Q3ŵI<C5B5>w_<>,<2C>A<EFBFBD><13>>g<>fQ<66>Sif<69><00><>Z:<3A>۔<EFBFBD><DB94>h<16><>AV7<56>>v<><03><00><><EFBFBD><1F><><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD>3<EFBFBD>[q<><71><EFBFBD><EFBFBD><EFBFBD>~<7E><>}To<13><><EFBFBD>:<3A><>Q<EFBFBD><51><EFBFBD><EFBFBD><1E>֪<EFBFBD><1D>?Q<>/<1C><><00><>r\<5C><>v\<5C>r<7F>i<EFBFBD>̾S<CCBE><53>~<7E><EFBFBD>_<EFBFBD><11><><EFBFBD><EFBFBD><EFBFBD>߭<EFBFBD>~ϵ<10><>9<t<> <0B><><EFBFBD><EFBFBD><EFBFBD> <0C><><EFBFBD><EFBFBD>q<EFBFBD><71><EFBFBD>?F{`<60><><EFBFBD>iB<69>yNzGĤg.<2E>&7ӭ/_<><5F>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD><01>"y0!<21><13>8?o<><02>=x<>:<3A><>6n )<1E>7<EFBFBD><37>$<24>d!<21><><EFBFBD>><1F><><EFBFBD><19><><EFBFBD><13><13>;<3B><>n/?<<3C><>=<08>M<EFBFBD><0F><>?<3F><0F>M<EFBFBD>?F{ <20>2q;<3B>X<EFBFBD><58><EFBFBD>^[<5B><><EFBFBD>:<3A><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>A0<41>=7<><37><EFBFBD> G<><bf<>17]
+<2B>lܵ^<5E>Ia<49>b`<60>j<><6A><EFBFBD><7A>N_<4E><5F><EFBFBD>ؖ<EFBFBD>W<EFBFBD>Z<EFBFBD><5A>+<2B><0F>ct<63>p{,<2C>bY<><59><EFBFBD>|<7C><><EFBFBD>b<EFBFBD><62>CߵЀ<DFB5><D080> 3<>*Y<><59>GH뻄<48>w<EFBFBD>2:9q<39>/<2F><><EFBFBD><EFBFBD><K<12>j<EFBFBD>4;<3B><><EFBFBD><16><>2<EFBFBD>i <09><>
+<2B><>)bK2<>
+vh<76><68>4<EFBFBD><34>|<7C><><EFBFBD>v<EFBFBD><76><EFBFBD>A<EFBFBD>g<EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><06>?<3F><><EFBFBD><EFBFBD>j}<1E><><EFBFBD>`p<17><07>6<EFBFBD><36>?:<01><><07><><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD><68><EFBFBD>z<EFBFBD>V*8le<6C><<3C>۫<EFBFBD>1<EFBFBD><31><EFBFBD>a<EFBFBD><61>\}{>=<3D><><EFBFBD><EFBFBD><EFBFBD>Q<>{<<3C><>-z<><7A><EFBFBD><16>[<5B>B1(<05>.h6GX<47>X")S<><53>| <09>"<1C><>嘐mr;jk<1C>
+ɀ&͈<>ɩ^<19><><EFBFBD><1E>8]<5D><>J<>L<EFBFBD>i#<23><04>lUJ<55><4A><EFBFBD>Ėkd<0E>Y0Y<><08>b<EFBFBD>hP<68>X<03>j6<6A><36>3<EFBFBD><19>9{q<><71><EFBFBD>$<24>a<EFBFBD>p<EFBFBD><70><EFBFBD>dE<64><45>(L͞mq<6D>o<EFBFBD><EFBFBD><15><>=#k(<28>N<EFBFBD>\1<>Q{<7B><>Ɗ<EFBFBD>!<21><><15>5@d<><1A><>$be<62> ,<13>Ɋ*ؘkXJ<58>
<EFBFBD><EFBFBD> <4E>UϿ"<22>*<11><><EFBFBD>t<EFBFBD>`<60>\R*yu}<7D><><EFBFBD><EFBFBD><EFBFBD>󋉓{ǘ<>cM<63>䖒h<E49692>m<EFBFBD>F,<2C>kBc<42>+f"#x<>i<EFBFBD><69>R5_<35>2<EFBFBD><32>?aW)<03>
+<2B>}
+<2B>g<EFBFBD><67>>CF<43>Q<EFBFBD>5鉃&sQD2CK SX<53>!b<>*<2A>bGQ<47><51>F#"3<14>io Dhx<68><78>U¢9KY\P<>*I<><1F>aR<>
+<2B><><EFBFBD>+U0<55><30>8ȒK]@WJ<57><05> <0B>`<60><>B<EFBFBD>D <0C>pW<70>d<EFBFBD>:;0<>6<EFBFBD>e<02><>\<5C><><EFBFBD><08>3n-B<>D<EFBFBD>4OQ<0F><> L<>F<EFBFBD><46><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70>'<27><>,<2C><18>Xt<58>R<EFBFBD><52>9ĹS<1D><01>+0t<><74>@`<60>)܂1Y <20><><EFBFBD>q%<25>A<EFBFBD>%o<>:<3A><>r<EFBFBD>#n<18> E<><45>?
!<21><>B<EFBFBD><42><EFBFBD>0<EFBFBD><30><1A><>)}NPc<50>o<EFBFBD>+j^<5E><>@<40><>6
+<2B>A<EFBFBD>-<2D>DPă<18><08><><EFBFBD> <02><>g<EFBFBD><67><EFBFBD><EFBFBD>o<EFBFBD>@<40><><14>g<EFBFBD>|<7C>1Ǝh<C68E>7<EFBFBD>W<EFBFBD>~)
A<EFBFBD><08>b <02>fS<66>c<EFBFBD>X<11><><EFBFBD><1A>M<EFBFBD>^<5E>yWH抅6<36><10>i<EFBFBD>l6<><36>@<40>7<EFBFBD><01><><EFBFBD>#8<17>IG<49>ax@<40>(1<08>m<01><><17>,S<><53><EFBFBD>dz_m<5F>N <20>Z<EFBFBD>Av0<>S~<1E>)<29>Z;<3B><><EFBFBD>k<EFBFBD><6B><EFBFBD>Ɋ$9<><39>!<21><><EFBFBD><EFBFBD>E@T<>iQ)<29>/g<>/<2F>?<>/D<><44>6Ӎ|<7C><>ch<63><68>
<EFBFBD> C<> <0C>#ㆊ<><E3868A>L_`<1D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]<5D>ۯ1<><31>q<EFBFBD><71><EFBFBD><EFBFBD><04>1u-)#<23>3
<EFBFBD><EFBFBD>4<EFBFBD>#<23><>`<60><>u0<><30>% <0B>_;d|'$<24>0*.W6 <20><02><><EFBFBD>(BD<42>̴<14><><04>[<5B>>x<16>.Qz<>t<EFBFBD>v<EFBFBD>%<25>o<EFBFBD>NJv<C78A><76>
<EFBFBD><EFBFBD>rz<EFBFBD><EFBFBD>Q g<><67><02>Ds\<05>GE<47><45><EFBFBD>Ջ<EFBFBD><D58B>#<23>I.D<>D(2C<32>0<EFBFBD><30><EFBFBD><EFBFBD>l<EFBFBD><6C><EFBFBD>
+24bʓB:<3A><><EFBFBD>W<EFBFBD><57><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>"<22><><EFBFBD><EFBFBD><EFBFBD><1B>_9"<22>)<29><10><>VXfJ}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\O<><4F><EFBFBD><EFBFBD><03>/<2F>,<2C><>]<5D>Yh<59>y9,b<>YX<59><58> +<2B><06><>H$0AQ^<5E> s<05>L<EFBFBD><4C>"t5 1<>ch;<3B><11><>1&R ڞt`U <11>1<31>kui$<24>Y<>k(Ҕ<>ns<02><>3<1C><>68<>(5<><35>n~<7E>~<7E>5<EFBFBD><35>P<EFBFBD>Y;*<2A><>w<11>m<16><30>3X<33>p1<70><31><EFBFBD>3<EFBFBD>]<5D><00>֊8<D68A>j<>C^0<>`4<>M8<>&<26><06><>G<EFBFBD><47>{T<><54>p<EFBFBD>M촁Cp<43>|nV<6E>%<25><><06><>Dh<44>X<EFBFBD><58>6r<12><>ƌ<EFBFBD>X<EFBFBD><58>]H<><48><EFBFBD><06>3<10><>3<EFBFBD><33><EFBFBD>|<19>@Jh<><68><<3C>vm<76>]
<EFBFBD><EFBFBD><EFBFBD>IX&Bd `<60><> 5ח<>_M<5F><4D><EFBFBD>@̹8<CCB9>"<22>MV<1B><><EFBFBD><EFBFBD>ym<79><6D>8<EFBFBD>~s}5iն<69>ǣ<7F><C7A3><EFBFBD>/<2F><><EFBFBD> <20>G-z<><7A> Ά<><CE86>ׇ<EFBFBD>X<EFBFBD> <0C><><EFBFBD><EFBFBD>1<EFBFBD><03>͍<7F>߼ݺ<DFBC><DDBA><EFBFBD><EFBFBD><EFBFBD><7F><>4<><EFBFBD>Ԛ<EFBFBD><D49A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>NS<4E><53><EFBFBD><1F><><EFBFBD><EFBFBD>v<EFBFBD><76><07>~<7E><><EFBFBD><51><DA83>6"<22><> <0C>%<25>#hJB<07>TVp<08>kWl<03> o<><6F>mx<6D>vss<73><11><>g<><67><EFBFBD>?<3F>
wURb<52>O<14>S<>
+^[1<><31><EFBFBD>ߍG<DF8D><47><EFBFBD><EFBFBD>^P<><50>m]<5D>z,<<3C>O<EFBFBD>2_K.<2E><>Y4<59><34>n<EFBFBD>e<EFBFBD>b<19><>U6ǽ<36><C7BD><12>?+<2B><> I/N<><4E>>~<7E>xd_
<EFBFBD>s<17><>No<1C><><EFBFBD>cG<63>^<5E>\<5C><>8<EFBFBD><38><EFBFBD>iu<75>z<EFBFBD><7A>6<15>UUԾaX<61>̕<EFBFBD><CC95>4EسD<D8B3>7<EFBFBD><37><EFBFBD>%<25>x<EFBFBD><(픶<><ED94B6>#j<><6A> N\aYH[<5B>z<EFBFBD>P<EFBFBD><50>P<EFBFBD><50>6<1E>2,<03><>R|CK<43>ܧIRh<><68>+þ<<3C><><EFBFBD><EFBFBD><04>Krsyc<79>Y <20>|s<>hF8uN;<3B>0<EFBFBD>W<EFBFBD><57><EFBFBD>ջ#<23>V<EFBFBD><56>a<>Z4[<5B>d2<64>S<EFBFBD>/<2F>I<EFBFBD>]S<><53>ë(<10>z.2s<EFBFBD>_=/M<><4D>~.<19><<3C>[q<71>=բБXm&<26><><EFBFBD>!fK<11><>*6!<21><><EFBFBD><EFBFBD>d<EFBFBD><64>v<><76>C<EFBFBD><43>%<25><><EFBFBD>܀=<3D><><EFBFBD>3D<33>Ly<4C>?;<3B>dL<64><4C><EFBFBD>p<>fC{J<>&yE<18>A <0B>g <20><><EFBFBD>
<EFBFBD>E<EFBFBD><05>H<EFBFBD><48><EFBFBD>Fƺp<C6BA>$YV2<07><>%U<><55><EFBFBD><EFBFBD>2<EFBFBD><19><>Jh<><68> w<>7uw<75>U<EFBFBD>Eg<>)bঞ<62><E0A69E>li<><69>V<>ݥ<01><01><>fkd<1C>\<5C><>g\%CeO7m<37><6D><EFBFBD>V+p<><70><EFBFBD><EFBFBD> <0B><> <09>j7<17>BQ<42><51>7<EFBFBD>*<2A>!<00><>BPu3<75>r)f*<2A><>
N5{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<00>@<40>}h<>W<EFBFBD><57><EFBFBD><EFBFBD><EFBFBD>0U<1E><>`s=]<5D><>|<7C>"<1D>"<22>O<EFBFBD><4F><EFBFBD>2vK<76>8dFfJ<7F>`t<><74><EFBFBD> <20> -<2D><><EFBFBD><޼=-7<>_t<5F>oӚִ<D39A>5<EFBFBD>iMkZӚִ<D39A>5<EFBFBD>iMkZӚִ/<2F><>gh<67>,P
\ No newline at end of file
diff -Naurp pcp-6.2.2.orig/src/pmdas/hacluster/help pcp-6.2.2/src/pmdas/hacluster/help
--- pcp-6.2.2.orig/src/pmdas/hacluster/help 2023-11-16 17:51:39.000000000 +1100
+++ pcp-6.2.2/src/pmdas/hacluster/help 2024-08-07 15:49:33.914903633 +1000
@@ -281,8 +281,8 @@ The volume number of the resource for ea
The current reported disk state of for the resource:volume.
@ ha_cluster.drbd.resources.all DRBD resource information
-Value is 1 if a drbd resource exists. The details of the corresponding drbd resource
-is given as label metadata values for this metric.
+Value is 1 if a DRBD resource exists. Details of the corresponding DRBD
+resource are given as label metadata values for this metric.
@ ha_cluster.drbd.connections.resource Resource that the connection is for
The given resource that the DRBD connection is for each resource:volume.
@@ -300,5 +300,5 @@ The reported volume for the connection.
The reported peer disk state for the connection.
@ ha_cluster.drbd.connections.all DRBD Peer disk information
-Value is 1 if a drbd peer connection exists. The details of the corresponding DRBD peer
-connection is given as label metadata values for this metric.
+Value is 1 if a DRBD peer connection exists. Details of the corresponding
+DRBD peer connection are given as label metadata values for this metric.
diff -Naurp pcp-6.2.2.orig/src/pmdas/hacluster/pacemaker.c pcp-6.2.2/src/pmdas/hacluster/pacemaker.c
--- pcp-6.2.2.orig/src/pmdas/hacluster/pacemaker.c 2023-11-16 17:51:39.000000000 +1100
+++ pcp-6.2.2/src/pmdas/hacluster/pacemaker.c 2024-08-07 15:51:14.150698727 +1000
@@ -707,6 +707,7 @@ hacluster_refresh_pacemaker_resources(co
/* Collect our metrics */
if (strstr(buffer, "resource id=") && strstr(buffer, resource_id)) {
+ /* Pacemaker v2.14 and prior crm_mon format */
if (strstr(buffer, "target_role")) {
sscanf(buffer, "%*s %*s resource_agent=\"%[^\"]\" role=\"%[^\"]\" %*s active=\"%7[^\"]\" orphaned=\"%7[^\"]\" blocked=\"%7[^\"]\" managed=\"%7[^\"]\" failed=\"%7[^\"]\" failure_ignored=\"%7[^\"]\"",
resources->agent,
@@ -718,6 +719,21 @@ hacluster_refresh_pacemaker_resources(co
failed,
failure_ignored
);
+
+ /* Pacemaker v2.16+ crm_mon format */
+ } else if (strstr(buffer, "maintenance")) {
+ sscanf(buffer, "%*s %*s resource_agent=\"%[^\"]\" role=\"%[^\"]\" active=\"%7[^\"]\" orphaned=\"%7[^\"]\" blocked=\"%7[^\"]\" %*s managed=\"%7[^\"]\" failed=\"%7[^\"]\" failure_ignored=\"%7[^\"]\"",
+ resources->agent,
+ resources->role,
+ active,
+ orphaned,
+ blocked,
+ managed,
+ failed,
+ failure_ignored
+ );
+
+ /* Pacemaker v2.15 crm_mon format */
} else {
sscanf(buffer, "%*s %*s resource_agent=\"%[^\"]\" role=\"%[^\"]\" active=\"%7[^\"]\" orphaned=\"%7[^\"]\" blocked=\"%7[^\"]\" managed=\"%7[^\"]\" failed=\"%7[^\"]\" failure_ignored=\"%7[^\"]\"",
resources->agent,