From 0e4c9e937bb003d57defc3d5d8b6a88221e54bbe Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 9 Aug 2023 11:52:47 +0300 Subject: [PATCH] - Fix hacluster metrics with current Pacemaker (BZ 2219731) --- ...t-bugzilla-2219731-hacluster-metrics.patch | 735 ++++++++++++++++++ SPECS/pcp.spec | 9 +- 2 files changed, 743 insertions(+), 1 deletion(-) create mode 100644 SOURCES/redhat-bugzilla-2219731-hacluster-metrics.patch diff --git a/SOURCES/redhat-bugzilla-2219731-hacluster-metrics.patch b/SOURCES/redhat-bugzilla-2219731-hacluster-metrics.patch new file mode 100644 index 0000000..6f18a2b --- /dev/null +++ b/SOURCES/redhat-bugzilla-2219731-hacluster-metrics.patch @@ -0,0 +1,735 @@ +diff -Naurp pcp-5.3.7.orig/qa/1897.out pcp-5.3.7/qa/1897.out +--- pcp-5.3.7.orig/qa/1897.out 2023-07-10 16:51:15.049365731 +1000 ++++ pcp-5.3.7/qa/1897.out 2023-07-10 16:52:18.069511419 +1000 +@@ -376,12 +376,12 @@ is given as label metadata values for th + inst [2 or "node-2:test_clone_state"] value 1 + inst [3 or "node-2:test_site"] value 1 + +-ha_cluster.pacemaker.nodes.status.dc PMID: 155.3.8 [Whether the node status is given as disconnected] ++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 disconnected status is reported by the node in the cluster, a +-value of 1 confirms the node status as disconnected. ++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 "node-1"] value 0 + inst [1 or "node-2"] value 1 + +@@ -680,6 +680,632 @@ ha_cluster.drbd.split_brain + === 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 ++ ++== Checking metric descriptors and values - hacluster-root-002.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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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 0 ++ inst [1 or "rhel9-node2"] value 1 ++ ++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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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. ++No value(s) available! ++ ++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-002.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 +diff -Naurp pcp-5.3.7.orig/qa/hacluster/GNUmakefile pcp-5.3.7/qa/hacluster/GNUmakefile +--- pcp-5.3.7.orig/qa/hacluster/GNUmakefile 2023-07-10 16:51:15.069365777 +1000 ++++ pcp-5.3.7/qa/hacluster/GNUmakefile 2023-07-10 16:52:18.069511419 +1000 +@@ -8,7 +8,7 @@ default setup default_pcp: + + install install_pcp: $(ROOTFILES) + $(INSTALL) -m 755 -d $(TESTDIR) +- $(INSTALL) -m 755 -f $(ROOTFILES) $(TESTDIR)/$(ROOTFILES) ++ $(INSTALL) -m 644 -f $(ROOTFILES) $(TESTDIR) + $(INSTALL) -m 644 -f GNUmakefile.install $(TESTDIR)/GNUmakefile + + include $(BUILDRULES) +diff -aruNp pcp-6.0.1.orig/qa/hacluster/hacluster-root-002.tgz pcp-6.0.1/qa/hacluster/hacluster-root-002.tgz +--- pcp-6.0.1.orig/qa/hacluster/hacluster-root-002.tgz 1970-01-01 02:00:00 ++++ pcp-6.0.1/qa/hacluster/hacluster-root-002.tgz 2023-08-03 19:35:39 +@@ -0,0 +1 @@ ++{"payload":{"allShortcutsEnabled":false,"fileTree":{"qa/hacluster":{"items":[{"name":"GNUmakefile","path":"qa/hacluster/GNUmakefile","contentType":"file"},{"name":"GNUmakefile.install","path":"qa/hacluster/GNUmakefile.install","contentType":"file"},{"name":"hacluster-root-001.tgz","path":"qa/hacluster/hacluster-root-001.tgz","contentType":"file"},{"name":"hacluster-root-002.tgz","path":"qa/hacluster/hacluster-root-002.tgz","contentType":"file"}],"totalCount":4},"qa":{"items":[{"name":".gitignore","path":"qa/.gitignore","contentType":"file"},{"name":"000","path":"qa/000","contentType":"file"},{"name":"000.out","path":"qa/000.out","contentType":"file"},{"name":"001","path":"qa/001","contentType":"file"},{"name":"001.out","path":"qa/001.out","contentType":"file"},{"name":"002","path":"qa/002","contentType":"file"},{"name":"002.out","path":"qa/002.out","contentType":"file"},{"name":"003","path":"qa/003","contentType":"file"},{"name":"003.out","path":"qa/003.out","contentType":"file"},{"name":"004","path":"qa/004","contentType":"file"},{"name":"004.out","path":"qa/004.out","contentType":"file"},{"name":"005","path":"qa/005","contentType":"file"},{"name":"005.out","path":"qa/005.out","contentType":"file"},{"name":"006","path":"qa/006","contentType":"file"},{"name":"006.out","path":"qa/006.out","contentType":"file"},{"name":"007","path":"qa/007","contentType":"file"},{"name":"007.out","path":"qa/007.out","contentType":"file"},{"name":"008","path":"qa/008","contentType":"file"},{"name":"008.helper","path":"qa/008.helper","contentType":"file"},{"name":"008.out.Colleens-iMac","path":"qa/008.out.Colleens-iMac","contentType":"file"},{"name":"008.out.bozo","path":"qa/008.out.bozo","contentType":"file"},{"name":"008.out.bozo+cd","path":"qa/008.out.bozo+cd","contentType":"file"},{"name":"008.out.bozo-laptop","path":"qa/008.out.bozo-laptop","contentType":"file"},{"name":"008.out.bozo-vm","path":"qa/008.out.bozo-vm","contentType":"file"},{"name":"008.out.canary","path":"qa/008.out.canary","contentType":"file"},{"name":"008.out.comma","path":"qa/008.out.comma","contentType":"file"},{"name":"008.out.kenj-pc","path":"qa/008.out.kenj-pc","contentType":"file"},{"name":"008.out.kmcdonell-laptop","path":"qa/008.out.kmcdonell-laptop","contentType":"file"},{"name":"008.out.ppp-kenmcd","path":"qa/008.out.ppp-kenmcd","contentType":"file"},{"name":"008.out.shard","path":"qa/008.out.shard","contentType":"file"},{"name":"008.out.slick","path":"qa/008.out.slick","contentType":"file"},{"name":"008.out.smash","path":"qa/008.out.smash","contentType":"file"},{"name":"009","path":"qa/009","contentType":"file"},{"name":"009.out","path":"qa/009.out","contentType":"file"},{"name":"010","path":"qa/010","contentType":"file"},{"name":"010.out","path":"qa/010.out","contentType":"file"},{"name":"011","path":"qa/011","contentType":"file"},{"name":"011.out","path":"qa/011.out","contentType":"file"},{"name":"012","path":"qa/012","contentType":"file"},{"name":"012.darwin","path":"qa/012.darwin","contentType":"file"},{"name":"012.linux","path":"qa/012.linux","contentType":"file"},{"name":"012.solaris","path":"qa/012.solaris","contentType":"file"},{"name":"013","path":"qa/013","contentType":"file"},{"name":"013.out","path":"qa/013.out","contentType":"file"},{"name":"014","path":"qa/014","contentType":"file"},{"name":"014.out","path":"qa/014.out","contentType":"file"},{"name":"015","path":"qa/015","contentType":"file"},{"name":"015.out","path":"qa/015.out","contentType":"file"},{"name":"016","path":"qa/016","contentType":"file"},{"name":"016.out","path":"qa/016.out","contentType":"file"},{"name":"017","path":"qa/017","contentType":"file"},{"name":"017.out","path":"qa/017.out","contentType":"file"},{"name":"018","path":"qa/018","contentType":"file"},{"name":"018.out","path":"qa/018.out","contentType":"file"},{"name":"019","path":"qa/019","contentType":"file"},{"name":"019.darwin","path":"qa/019.darwin","contentType":"file"},{"name":"019.linux.2","path":"qa/019.linux.2","contentType":"file"},{"name":"019.linux.3","path":"qa/019.linux.3","contentType":"file"},{"name":"019.linux.4","path":"qa/019.linux.4","contentType":"file"},{"name":"019.solaris","path":"qa/019.solaris","contentType":"file"},{"name":"020","path":"qa/020","contentType":"file"},{"name":"020.out","path":"qa/020.out","contentType":"file"},{"name":"021","path":"qa/021","contentType":"file"},{"name":"021.out","path":"qa/021.out","contentType":"file"},{"name":"022","path":"qa/022","contentType":"file"},{"name":"022.out.linux","path":"qa/022.out.linux","contentType":"file"},{"name":"023","path":"qa/023","contentType":"file"},{"name":"023.out.1","path":"qa/023.out.1","contentType":"file"},{"name":"023.out.2","path":"qa/023.out.2","contentType":"file"},{"name":"024","path":"qa/024","contentType":"file"},{"name":"024.out","path":"qa/024.out","contentType":"file"},{"name":"025","path":"qa/025","contentType":"file"},{"name":"025.out","path":"qa/025.out","contentType":"file"},{"name":"026","path":"qa/026","contentType":"file"},{"name":"026.out","path":"qa/026.out","contentType":"file"},{"name":"027","path":"qa/027","contentType":"file"},{"name":"027.out","path":"qa/027.out","contentType":"file"},{"name":"028","path":"qa/028","contentType":"file"},{"name":"028.out","path":"qa/028.out","contentType":"file"},{"name":"029","path":"qa/029","contentType":"file"},{"name":"029.out","path":"qa/029.out","contentType":"file"},{"name":"030","path":"qa/030","contentType":"file"},{"name":"030.out","path":"qa/030.out","contentType":"file"},{"name":"031","path":"qa/031","contentType":"file"},{"name":"031.out.darwin","path":"qa/031.out.darwin","contentType":"file"},{"name":"031.out.freebsd","path":"qa/031.out.freebsd","contentType":"file"},{"name":"031.out.linux","path":"qa/031.out.linux","contentType":"file"},{"name":"031.out.netbsd","path":"qa/031.out.netbsd","contentType":"file"},{"name":"031.out.openbsd","path":"qa/031.out.openbsd","contentType":"file"},{"name":"031.out.solaris","path":"qa/031.out.solaris","contentType":"file"},{"name":"032","path":"qa/032","contentType":"file"},{"name":"032.out","path":"qa/032.out","contentType":"file"},{"name":"033","path":"qa/033","contentType":"file"},{"name":"033.out.1","path":"qa/033.out.1","contentType":"file"},{"name":"033.out.3","path":"qa/033.out.3","contentType":"file"},{"name":"033.out.4","path":"qa/033.out.4","contentType":"file"},{"name":"034","path":"qa/034","contentType":"file"},{"name":"034.out","path":"qa/034.out","contentType":"file"},{"name":"035","path":"qa/035","contentType":"file"},{"name":"035.out","path":"qa/035.out","contentType":"file"},{"name":"036","path":"qa/036","contentType":"file"},{"name":"036.out","path":"qa/036.out","contentType":"file"},{"name":"037","path":"qa/037","contentType":"file"},{"name":"037.out","path":"qa/037.out","contentType":"file"},{"name":"038","path":"qa/038","contentType":"file"},{"name":"038.out","path":"qa/038.out","contentType":"file"},{"name":"039","path":"qa/039","contentType":"file"},{"name":"039.out","path":"qa/039.out","contentType":"file"},{"name":"040","path":"qa/040","contentType":"file"},{"name":"040.out","path":"qa/040.out","contentType":"file"},{"name":"041","path":"qa/041","contentType":"file"},{"name":"041.out","path":"qa/041.out","contentType":"file"},{"name":"042","path":"qa/042","contentType":"file"},{"name":"042.out","path":"qa/042.out","contentType":"file"},{"name":"043","path":"qa/043","contentType":"file"},{"name":"043.out","path":"qa/043.out","contentType":"file"},{"name":"044","path":"qa/044","contentType":"file"},{"name":"044.darwin","path":"qa/044.darwin","contentType":"file"},{"name":"044.linux","path":"qa/044.linux","contentType":"file"},{"name":"044.linux.1","path":"qa/044.linux.1","contentType":"file"},{"name":"045","path":"qa/045","contentType":"file"},{"name":"045.out","path":"qa/045.out","contentType":"file"},{"name":"046","path":"qa/046","contentType":"file"},{"name":"046.out","path":"qa/046.out","contentType":"file"},{"name":"047","path":"qa/047","contentType":"file"},{"name":"047.out","path":"qa/047.out","contentType":"file"},{"name":"048","path":"qa/048","contentType":"file"},{"name":"048.out","path":"qa/048.out","contentType":"file"},{"name":"049","path":"qa/049","contentType":"file"},{"name":"049.out","path":"qa/049.out","contentType":"file"},{"name":"050","path":"qa/050","contentType":"file"},{"name":"050.out","path":"qa/050.out","contentType":"file"},{"name":"051","path":"qa/051","contentType":"file"},{"name":"051.hosts","path":"qa/051.hosts","contentType":"file"},{"name":"051.out.ipv6","path":"qa/051.out.ipv6","contentType":"file"},{"name":"051.out.nonipv6","path":"qa/051.out.nonipv6","contentType":"file"},{"name":"052","path":"qa/052","contentType":"file"},{"name":"052.out","path":"qa/052.out","contentType":"file"},{"name":"053","path":"qa/053","contentType":"file"},{"name":"053.out","path":"qa/053.out","contentType":"file"},{"name":"054","path":"qa/054","contentType":"file"},{"name":"054.out","path":"qa/054.out","contentType":"file"},{"name":"055","path":"qa/055","contentType":"file"},{"name":"055.out","path":"qa/055.out","contentType":"file"},{"name":"056","path":"qa/056","contentType":"file"},{"name":"056.out","path":"qa/056.out","contentType":"file"},{"name":"057","path":"qa/057","contentType":"file"},{"name":"057.out","path":"qa/057.out","contentType":"file"},{"name":"058","path":"qa/058","contentType":"file"},{"name":"058.out","path":"qa/058.out","contentType":"file"},{"name":"059","path":"qa/059","contentType":"file"},{"name":"059.out","path":"qa/059.out","contentType":"file"},{"name":"060","path":"qa/060","contentType":"file"},{"name":"060.out","path":"qa/060.out","contentType":"file"},{"name":"061","path":"qa/061","contentType":"file"},{"name":"061.out","path":"qa/061.out","contentType":"file"},{"name":"062","path":"qa/062","contentType":"file"},{"name":"062.out.ipv6","path":"qa/062.out.ipv6","contentType":"file"},{"name":"062.out.nonipv6","path":"qa/062.out.nonipv6","contentType":"file"},{"name":"063","path":"qa/063","contentType":"file"},{"name":"063.out","path":"qa/063.out","contentType":"file"},{"name":"064","path":"qa/064","contentType":"file"},{"name":"064.out","path":"qa/064.out","contentType":"file"},{"name":"065","path":"qa/065","contentType":"file"},{"name":"065.out","path":"qa/065.out","contentType":"file"},{"name":"066","path":"qa/066","contentType":"file"},{"name":"066.out.ipv6","path":"qa/066.out.ipv6","contentType":"file"},{"name":"066.out.nonipv6","path":"qa/066.out.nonipv6","contentType":"file"},{"name":"067","path":"qa/067","contentType":"file"},{"name":"067.out.ipv6","path":"qa/067.out.ipv6","contentType":"file"},{"name":"067.out.nonipv6","path":"qa/067.out.nonipv6","contentType":"file"},{"name":"068","path":"qa/068","contentType":"file"},{"name":"068.out","path":"qa/068.out","contentType":"file"},{"name":"069","path":"qa/069","contentType":"file"},{"name":"069.out.ipv6","path":"qa/069.out.ipv6","contentType":"file"},{"name":"069.out.nonipv6","path":"qa/069.out.nonipv6","contentType":"file"},{"name":"070","path":"qa/070","contentType":"file"},{"name":"070.out","path":"qa/070.out","contentType":"file"},{"name":"071","path":"qa/071","contentType":"file"},{"name":"071.out","path":"qa/071.out","contentType":"file"},{"name":"072","path":"qa/072","contentType":"file"},{"name":"072.out","path":"qa/072.out","contentType":"file"},{"name":"073","path":"qa/073","contentType":"file"},{"name":"073.out","path":"qa/073.out","contentType":"file"},{"name":"074","path":"qa/074","contentType":"file"},{"name":"074.out.noproc","path":"qa/074.out.noproc","contentType":"file"},{"name":"074.out.other","path":"qa/074.out.other","contentType":"file"},{"name":"075","path":"qa/075","contentType":"file"},{"name":"075.out","path":"qa/075.out","contentType":"file"},{"name":"076","path":"qa/076","contentType":"file"},{"name":"076.out","path":"qa/076.out","contentType":"file"},{"name":"077","path":"qa/077","contentType":"file"},{"name":"077.out","path":"qa/077.out","contentType":"file"},{"name":"078","path":"qa/078","contentType":"file"},{"name":"078.out","path":"qa/078.out","contentType":"file"},{"name":"079","path":"qa/079","contentType":"file"},{"name":"079.out","path":"qa/079.out","contentType":"file"},{"name":"080","path":"qa/080","contentType":"file"},{"name":"080.out","path":"qa/080.out","contentType":"file"},{"name":"081","path":"qa/081","contentType":"file"},{"name":"081.out","path":"qa/081.out","contentType":"file"},{"name":"082","path":"qa/082","contentType":"file"},{"name":"082.out","path":"qa/082.out","contentType":"file"},{"name":"083","path":"qa/083","contentType":"file"},{"name":"083.out","path":"qa/083.out","contentType":"file"},{"name":"084","path":"qa/084","contentType":"file"},{"name":"084.out","path":"qa/084.out","contentType":"file"},{"name":"085","path":"qa/085","contentType":"file"},{"name":"085.out","path":"qa/085.out","contentType":"file"},{"name":"086","path":"qa/086","contentType":"file"},{"name":"086.out","path":"qa/086.out","contentType":"file"},{"name":"087","path":"qa/087","contentType":"file"},{"name":"087.out","path":"qa/087.out","contentType":"file"},{"name":"088","path":"qa/088","contentType":"file"},{"name":"088.out","path":"qa/088.out","contentType":"file"},{"name":"089","path":"qa/089","contentType":"file"},{"name":"089.out","path":"qa/089.out","contentType":"file"},{"name":"090","path":"qa/090","contentType":"file"},{"name":"090.out","path":"qa/090.out","contentType":"file"},{"name":"091","path":"qa/091","contentType":"file"},{"name":"091.out","path":"qa/091.out","contentType":"file"},{"name":"092","path":"qa/092","contentType":"file"},{"name":"092.out","path":"qa/092.out","contentType":"file"},{"name":"093","path":"qa/093","contentType":"file"},{"name":"093.out","path":"qa/093.out","contentType":"file"},{"name":"094","path":"qa/094","contentType":"file"},{"name":"094.out","path":"qa/094.out","contentType":"file"},{"name":"095","path":"qa/095","contentType":"file"},{"name":"095.out","path":"qa/095.out","contentType":"file"},{"name":"096","path":"qa/096","contentType":"file"},{"name":"096.out","path":"qa/096.out","contentType":"file"},{"name":"097","path":"qa/097","contentType":"file"},{"name":"097.out","path":"qa/097.out","contentType":"file"},{"name":"098","path":"qa/098","contentType":"file"},{"name":"098.out","path":"qa/098.out","contentType":"file"},{"name":"099","path":"qa/099","contentType":"file"},{"name":"099.out","path":"qa/099.out","contentType":"file"},{"name":"100","path":"qa/100","contentType":"file"},{"name":"100.out","path":"qa/100.out","contentType":"file"},{"name":"1000","path":"qa/1000","contentType":"file"},{"name":"1000.out","path":"qa/1000.out","contentType":"file"},{"name":"1001","path":"qa/1001","contentType":"file"},{"name":"1001.out","path":"qa/1001.out","contentType":"file"},{"name":"1002","path":"qa/1002","contentType":"file"},{"name":"1002.out","path":"qa/1002.out","contentType":"file"},{"name":"1003","path":"qa/1003","contentType":"file"},{"name":"1003.out","path":"qa/1003.out","contentType":"file"},{"name":"1004","path":"qa/1004","contentType":"file"},{"name":"1004.out","path":"qa/1004.out","contentType":"file"},{"name":"1005","path":"qa/1005","contentType":"file"},{"name":"1005.out","path":"qa/1005.out","contentType":"file"},{"name":"1006","path":"qa/1006","contentType":"file"},{"name":"1006.out","path":"qa/1006.out","contentType":"file"},{"name":"1007","path":"qa/1007","contentType":"file"},{"name":"1007.out","path":"qa/1007.out","contentType":"file"},{"name":"1008","path":"qa/1008","contentType":"file"},{"name":"1008.out","path":"qa/1008.out","contentType":"file"},{"name":"1009","path":"qa/1009","contentType":"file"},{"name":"1009.out","path":"qa/1009.out","contentType":"file"},{"name":"101","path":"qa/101","contentType":"file"},{"name":"101.out","path":"qa/101.out","contentType":"file"},{"name":"1010","path":"qa/1010","contentType":"file"},{"name":"1010.out","path":"qa/1010.out","contentType":"file"},{"name":"1011","path":"qa/1011","contentType":"file"},{"name":"1011.out","path":"qa/1011.out","contentType":"file"},{"name":"1012","path":"qa/1012","contentType":"file"},{"name":"1012.out","path":"qa/1012.out","contentType":"file"},{"name":"1013","path":"qa/1013","contentType":"file"},{"name":"1013.out","path":"qa/1013.out","contentType":"file"},{"name":"1014","path":"qa/1014","contentType":"file"},{"name":"1014.out","path":"qa/1014.out","contentType":"file"},{"name":"1015","path":"qa/1015","contentType":"file"},{"name":"1015.out","path":"qa/1015.out","contentType":"file"},{"name":"1016","path":"qa/1016","contentType":"file"},{"name":"1016.out","path":"qa/1016.out","contentType":"file"},{"name":"1017","path":"qa/1017","contentType":"file"},{"name":"1017.out","path":"qa/1017.out","contentType":"file"},{"name":"1018","path":"qa/1018","contentType":"file"},{"name":"1018.out","path":"qa/1018.out","contentType":"file"},{"name":"1019","path":"qa/1019","contentType":"file"},{"name":"1019.out","path":"qa/1019.out","contentType":"file"},{"name":"102","path":"qa/102","contentType":"file"},{"name":"102.out","path":"qa/102.out","contentType":"file"},{"name":"1020","path":"qa/1020","contentType":"file"},{"name":"1020.out","path":"qa/1020.out","contentType":"file"},{"name":"1021","path":"qa/1021","contentType":"file"},{"name":"1021.out","path":"qa/1021.out","contentType":"file"},{"name":"1022","path":"qa/1022","contentType":"file"},{"name":"1022.out","path":"qa/1022.out","contentType":"file"},{"name":"1023","path":"qa/1023","contentType":"file"},{"name":"1023.out","path":"qa/1023.out","contentType":"file"},{"name":"1024","path":"qa/1024","contentType":"file"},{"name":"1024.out","path":"qa/1024.out","contentType":"file"},{"name":"1025","path":"qa/1025","contentType":"file"},{"name":"1025.out","path":"qa/1025.out","contentType":"file"},{"name":"1026","path":"qa/1026","contentType":"file"},{"name":"1026.out","path":"qa/1026.out","contentType":"file"},{"name":"1027","path":"qa/1027","contentType":"file"},{"name":"1027.out","path":"qa/1027.out","contentType":"file"},{"name":"1028","path":"qa/1028","contentType":"file"},{"name":"1028.out","path":"qa/1028.out","contentType":"file"},{"name":"1029","path":"qa/1029","contentType":"file"},{"name":"1029.out","path":"qa/1029.out","contentType":"file"},{"name":"103","path":"qa/103","contentType":"file"},{"name":"103.out","path":"qa/103.out","contentType":"file"},{"name":"1030","path":"qa/1030","contentType":"file"},{"name":"1030.out","path":"qa/1030.out","contentType":"file"},{"name":"1031","path":"qa/1031","contentType":"file"},{"name":"1031.out","path":"qa/1031.out","contentType":"file"},{"name":"1032","path":"qa/1032","contentType":"file"},{"name":"1032.out","path":"qa/1032.out","contentType":"file"},{"name":"1033","path":"qa/1033","contentType":"file"},{"name":"1033.out","path":"qa/1033.out","contentType":"file"},{"name":"1034","path":"qa/1034","contentType":"file"},{"name":"1034.out","path":"qa/1034.out","contentType":"file"},{"name":"1035","path":"qa/1035","contentType":"file"},{"name":"1035.out","path":"qa/1035.out","contentType":"file"},{"name":"1036","path":"qa/1036","contentType":"file"},{"name":"1036.out","path":"qa/1036.out","contentType":"file"},{"name":"1037","path":"qa/1037","contentType":"file"},{"name":"1037.out","path":"qa/1037.out","contentType":"file"},{"name":"1038","path":"qa/1038","contentType":"file"},{"name":"1038.out","path":"qa/1038.out","contentType":"file"},{"name":"1039","path":"qa/1039","contentType":"file"},{"name":"1039.out","path":"qa/1039.out","contentType":"file"},{"name":"104","path":"qa/104","contentType":"file"},{"name":"104.out","path":"qa/104.out","contentType":"file"},{"name":"1040","path":"qa/1040","contentType":"file"},{"name":"1040.out","path":"qa/1040.out","contentType":"file"},{"name":"1041","path":"qa/1041","contentType":"file"},{"name":"1041.out","path":"qa/1041.out","contentType":"file"},{"name":"1042","path":"qa/1042","contentType":"file"},{"name":"1042.out","path":"qa/1042.out","contentType":"file"},{"name":"1043","path":"qa/1043","contentType":"file"},{"name":"1043.out","path":"qa/1043.out","contentType":"file"},{"name":"1044","path":"qa/1044","contentType":"file"},{"name":"1044.out","path":"qa/1044.out","contentType":"file"},{"name":"1045","path":"qa/1045","contentType":"file"},{"name":"1045.out","path":"qa/1045.out","contentType":"file"},{"name":"1046","path":"qa/1046","contentType":"file"},{"name":"1046.out","path":"qa/1046.out","contentType":"file"},{"name":"1047","path":"qa/1047","contentType":"file"},{"name":"1047.out","path":"qa/1047.out","contentType":"file"},{"name":"1048","path":"qa/1048","contentType":"file"},{"name":"1048.out","path":"qa/1048.out","contentType":"file"},{"name":"1049","path":"qa/1049","contentType":"file"},{"name":"1049.out","path":"qa/1049.out","contentType":"file"},{"name":"105","path":"qa/105","contentType":"file"},{"name":"105.out","path":"qa/105.out","contentType":"file"},{"name":"1050","path":"qa/1050","contentType":"file"},{"name":"1050.out","path":"qa/1050.out","contentType":"file"},{"name":"1051","path":"qa/1051","contentType":"file"},{"name":"1051.out.darwin","path":"qa/1051.out.darwin","contentType":"file"},{"name":"1051.out.linux","path":"qa/1051.out.linux","contentType":"file"},{"name":"1051.out.solaris","path":"qa/1051.out.solaris","contentType":"file"},{"name":"1052","path":"qa/1052","contentType":"file"},{"name":"1052.bash","path":"qa/1052.bash","contentType":"file"},{"name":"1052.out","path":"qa/1052.out","contentType":"file"},{"name":"1053","path":"qa/1053","contentType":"file"},{"name":"1053.out","path":"qa/1053.out","contentType":"file"},{"name":"1054","path":"qa/1054","contentType":"file"},{"name":"1054.out","path":"qa/1054.out","contentType":"file"},{"name":"1055","path":"qa/1055","contentType":"file"},{"name":"1055.out","path":"qa/1055.out","contentType":"file"},{"name":"1056","path":"qa/1056","contentType":"file"},{"name":"1056.out","path":"qa/1056.out","contentType":"file"},{"name":"1057","path":"qa/1057","contentType":"file"},{"name":"1057.out","path":"qa/1057.out","contentType":"file"},{"name":"1058","path":"qa/1058","contentType":"file"},{"name":"1058.out","path":"qa/1058.out","contentType":"file"},{"name":"1059","path":"qa/1059","contentType":"file"},{"name":"1059.out","path":"qa/1059.out","contentType":"file"},{"name":"106","path":"qa/106","contentType":"file"},{"name":"106.out","path":"qa/106.out","contentType":"file"},{"name":"1060","path":"qa/1060","contentType":"file"},{"name":"1060.out","path":"qa/1060.out","contentType":"file"},{"name":"1061","path":"qa/1061","contentType":"file"},{"name":"1061.out","path":"qa/1061.out","contentType":"file"},{"name":"1062","path":"qa/1062","contentType":"file"},{"name":"1062.out","path":"qa/1062.out","contentType":"file"},{"name":"1063","path":"qa/1063","contentType":"file"},{"name":"1063.out","path":"qa/1063.out","contentType":"file"},{"name":"1064","path":"qa/1064","contentType":"file"},{"name":"1064.out","path":"qa/1064.out","contentType":"file"},{"name":"1065","path":"qa/1065","contentType":"file"},{"name":"1065.out","path":"qa/1065.out","contentType":"file"},{"name":"1066","path":"qa/1066","contentType":"file"},{"name":"1066.out","path":"qa/1066.out","contentType":"file"},{"name":"1067","path":"qa/1067","contentType":"file"},{"name":"1067.out.0","path":"qa/1067.out.0","contentType":"file"},{"name":"1067.out.1","path":"qa/1067.out.1","contentType":"file"},{"name":"1068","path":"qa/1068","contentType":"file"},{"name":"1068.out","path":"qa/1068.out","contentType":"file"},{"name":"1069","path":"qa/1069","contentType":"file"},{"name":"1069.out","path":"qa/1069.out","contentType":"file"},{"name":"107","path":"qa/107","contentType":"file"},{"name":"107.out","path":"qa/107.out","contentType":"file"},{"name":"1070","path":"qa/1070","contentType":"file"},{"name":"1070.map","path":"qa/1070.map","contentType":"file"},{"name":"1070.out","path":"qa/1070.out","contentType":"file"},{"name":"1071","path":"qa/1071","contentType":"file"},{"name":"1071.out","path":"qa/1071.out","contentType":"file"},{"name":"1072","path":"qa/1072","contentType":"file"},{"name":"1072.out","path":"qa/1072.out","contentType":"file"},{"name":"1073","path":"qa/1073","contentType":"file"},{"name":"1073.out","path":"qa/1073.out","contentType":"file"},{"name":"1074","path":"qa/1074","contentType":"file"},{"name":"1074.out","path":"qa/1074.out","contentType":"file"},{"name":"1075","path":"qa/1075","contentType":"file"},{"name":"1075.out","path":"qa/1075.out","contentType":"file"},{"name":"1076","path":"qa/1076","contentType":"file"},{"name":"1076.out","path":"qa/1076.out","contentType":"file"},{"name":"1077","path":"qa/1077","contentType":"file"},{"name":"1077.out","path":"qa/1077.out","contentType":"file"},{"name":"1078","path":"qa/1078","contentType":"file"},{"name":"1078.out","path":"qa/1078.out","contentType":"file"},{"name":"1079","path":"qa/1079","contentType":"file"},{"name":"1079.out","path":"qa/1079.out","contentType":"file"},{"name":"108","path":"qa/108","contentType":"file"},{"name":"108.out","path":"qa/108.out","contentType":"file"},{"name":"1080","path":"qa/1080","contentType":"file"},{"name":"1080.out","path":"qa/1080.out","contentType":"file"},{"name":"1081","path":"qa/1081","contentType":"file"},{"name":"1081.out","path":"qa/1081.out","contentType":"file"},{"name":"1082","path":"qa/1082","contentType":"file"},{"name":"1082.out","path":"qa/1082.out","contentType":"file"},{"name":"1083","path":"qa/1083","contentType":"file"},{"name":"1083.out","path":"qa/1083.out","contentType":"file"},{"name":"1084","path":"qa/1084","contentType":"file"},{"name":"1084.out","path":"qa/1084.out","contentType":"file"},{"name":"1085","path":"qa/1085","contentType":"file"},{"name":"1085.out","path":"qa/1085.out","contentType":"file"},{"name":"1086","path":"qa/1086","contentType":"file"},{"name":"1086.out","path":"qa/1086.out","contentType":"file"},{"name":"1087","path":"qa/1087","contentType":"file"},{"name":"1087.out","path":"qa/1087.out","contentType":"file"},{"name":"1088","path":"qa/1088","contentType":"file"},{"name":"1088.out","path":"qa/1088.out","contentType":"file"},{"name":"1089","path":"qa/1089","contentType":"file"},{"name":"1089.out","path":"qa/1089.out","contentType":"file"},{"name":"109","path":"qa/109","contentType":"file"},{"name":"109.out","path":"qa/109.out","contentType":"file"},{"name":"1090","path":"qa/1090","contentType":"file"},{"name":"1090.out","path":"qa/1090.out","contentType":"file"},{"name":"1091","path":"qa/1091","contentType":"file"},{"name":"1091.out","path":"qa/1091.out","contentType":"file"},{"name":"1092","path":"qa/1092","contentType":"file"},{"name":"1092.out","path":"qa/1092.out","contentType":"file"},{"name":"1093","path":"qa/1093","contentType":"file"},{"name":"1093.out","path":"qa/1093.out","contentType":"file"},{"name":"1094","path":"qa/1094","contentType":"file"},{"name":"1094.out","path":"qa/1094.out","contentType":"file"},{"name":"1095","path":"qa/1095","contentType":"file"},{"name":"1095.out","path":"qa/1095.out","contentType":"file"},{"name":"1096","path":"qa/1096","contentType":"file"},{"name":"1096.out","path":"qa/1096.out","contentType":"file"},{"name":"1097","path":"qa/1097","contentType":"file"},{"name":"1097.out","path":"qa/1097.out","contentType":"file"},{"name":"1098","path":"qa/1098","contentType":"file"},{"name":"1098.out","path":"qa/1098.out","contentType":"file"},{"name":"1099","path":"qa/1099","contentType":"file"},{"name":"1099.out","path":"qa/1099.out","contentType":"file"},{"name":"110","path":"qa/110","contentType":"file"},{"name":"110.out","path":"qa/110.out","contentType":"file"},{"name":"1100","path":"qa/1100","contentType":"file"},{"name":"1100.out","path":"qa/1100.out","contentType":"file"},{"name":"1101","path":"qa/1101","contentType":"file"},{"name":"1101.out","path":"qa/1101.out","contentType":"file"},{"name":"1102","path":"qa/1102","contentType":"file"},{"name":"1102.out","path":"qa/1102.out","contentType":"file"},{"name":"1103","path":"qa/1103","contentType":"file"},{"name":"1103.out","path":"qa/1103.out","contentType":"file"},{"name":"1104","path":"qa/1104","contentType":"file"},{"name":"1104.out","path":"qa/1104.out","contentType":"file"},{"name":"1105","path":"qa/1105","contentType":"file"},{"name":"1105.out","path":"qa/1105.out","contentType":"file"},{"name":"1106","path":"qa/1106","contentType":"file"},{"name":"1106.out","path":"qa/1106.out","contentType":"file"},{"name":"1107","path":"qa/1107","contentType":"file"},{"name":"1107.out","path":"qa/1107.out","contentType":"file"},{"name":"1108","path":"qa/1108","contentType":"file"},{"name":"1108.out","path":"qa/1108.out","contentType":"file"},{"name":"1109","path":"qa/1109","contentType":"file"},{"name":"1109.out","path":"qa/1109.out","contentType":"file"},{"name":"111","path":"qa/111","contentType":"file"},{"name":"111.out","path":"qa/111.out","contentType":"file"},{"name":"1110","path":"qa/1110","contentType":"file"},{"name":"1110.out","path":"qa/1110.out","contentType":"file"},{"name":"1111","path":"qa/1111","contentType":"file"},{"name":"1111.out","path":"qa/1111.out","contentType":"file"},{"name":"1112","path":"qa/1112","contentType":"file"},{"name":"1112.out","path":"qa/1112.out","contentType":"file"},{"name":"1113","path":"qa/1113","contentType":"file"},{"name":"1113.out","path":"qa/1113.out","contentType":"file"},{"name":"1114","path":"qa/1114","contentType":"file"},{"name":"1114.out","path":"qa/1114.out","contentType":"file"},{"name":"1115","path":"qa/1115","contentType":"file"},{"name":"1115.out","path":"qa/1115.out","contentType":"file"},{"name":"1116","path":"qa/1116","contentType":"file"},{"name":"1116.out","path":"qa/1116.out","contentType":"file"},{"name":"1117","path":"qa/1117","contentType":"file"},{"name":"1117.out","path":"qa/1117.out","contentType":"file"},{"name":"1118","path":"qa/1118","contentType":"file"},{"name":"1118.out","path":"qa/1118.out","contentType":"file"},{"name":"1119","path":"qa/1119","contentType":"file"},{"name":"1119.out","path":"qa/1119.out","contentType":"file"},{"name":"112","path":"qa/112","contentType":"file"},{"name":"112.out","path":"qa/112.out","contentType":"file"},{"name":"1120","path":"qa/1120","contentType":"file"},{"name":"1120.out","path":"qa/1120.out","contentType":"file"},{"name":"1121","path":"qa/1121","contentType":"file"},{"name":"1121.out","path":"qa/1121.out","contentType":"file"},{"name":"1122","path":"qa/1122","contentType":"file"},{"name":"1122.out","path":"qa/1122.out","contentType":"file"},{"name":"1123","path":"qa/1123","contentType":"file"},{"name":"1123.out","path":"qa/1123.out","contentType":"file"},{"name":"1124","path":"qa/1124","contentType":"file"},{"name":"1124.out","path":"qa/1124.out","contentType":"file"},{"name":"1126","path":"qa/1126","contentType":"file"},{"name":"1126.out","path":"qa/1126.out","contentType":"file"},{"name":"1127","path":"qa/1127","contentType":"file"},{"name":"1127.out","path":"qa/1127.out","contentType":"file"},{"name":"1128","path":"qa/1128","contentType":"file"},{"name":"1128.out","path":"qa/1128.out","contentType":"file"},{"name":"1129","path":"qa/1129","contentType":"file"},{"name":"1129.out","path":"qa/1129.out","contentType":"file"},{"name":"113","path":"qa/113","contentType":"file"},{"name":"113.out","path":"qa/113.out","contentType":"file"},{"name":"1130","path":"qa/1130","contentType":"file"},{"name":"1130.out","path":"qa/1130.out","contentType":"file"},{"name":"1131","path":"qa/1131","contentType":"file"},{"name":"1131.out","path":"qa/1131.out","contentType":"file"},{"name":"1132","path":"qa/1132","contentType":"file"},{"name":"1132.out","path":"qa/1132.out","contentType":"file"},{"name":"1133","path":"qa/1133","contentType":"file"},{"name":"1133.out","path":"qa/1133.out","contentType":"file"},{"name":"1134","path":"qa/1134","contentType":"file"},{"name":"1134.out","path":"qa/1134.out","contentType":"file"},{"name":"1135","path":"qa/1135","contentType":"file"},{"name":"1135.out","path":"qa/1135.out","contentType":"file"},{"name":"1136","path":"qa/1136","contentType":"file"},{"name":"1136.out","path":"qa/1136.out","contentType":"file"},{"name":"1137","path":"qa/1137","contentType":"file"},{"name":"1137.out","path":"qa/1137.out","contentType":"file"},{"name":"1138","path":"qa/1138","contentType":"file"},{"name":"1138.out","path":"qa/1138.out","contentType":"file"},{"name":"1139","path":"qa/1139","contentType":"file"},{"name":"1139.out","path":"qa/1139.out","contentType":"file"},{"name":"114","path":"qa/114","contentType":"file"},{"name":"114.out","path":"qa/114.out","contentType":"file"},{"name":"1140","path":"qa/1140","contentType":"file"},{"name":"1140.out","path":"qa/1140.out","contentType":"file"},{"name":"1141","path":"qa/1141","contentType":"file"},{"name":"1141.out","path":"qa/1141.out","contentType":"file"},{"name":"1142","path":"qa/1142","contentType":"file"},{"name":"1142.out","path":"qa/1142.out","contentType":"file"},{"name":"1143","path":"qa/1143","contentType":"file"},{"name":"1143.out","path":"qa/1143.out","contentType":"file"},{"name":"1144","path":"qa/1144","contentType":"file"},{"name":"1144.out","path":"qa/1144.out","contentType":"file"},{"name":"1145","path":"qa/1145","contentType":"file"},{"name":"1145.out","path":"qa/1145.out","contentType":"file"},{"name":"1146","path":"qa/1146","contentType":"file"},{"name":"1146.out","path":"qa/1146.out","contentType":"file"},{"name":"1147","path":"qa/1147","contentType":"file"},{"name":"1147.out","path":"qa/1147.out","contentType":"file"},{"name":"1148","path":"qa/1148","contentType":"file"},{"name":"1148.out","path":"qa/1148.out","contentType":"file"},{"name":"1149","path":"qa/1149","contentType":"file"},{"name":"1149.out","path":"qa/1149.out","contentType":"file"},{"name":"115","path":"qa/115","contentType":"file"},{"name":"115.out","path":"qa/115.out","contentType":"file"},{"name":"1150","path":"qa/1150","contentType":"file"},{"name":"1150.out","path":"qa/1150.out","contentType":"file"},{"name":"1151","path":"qa/1151","contentType":"file"},{"name":"1151.out","path":"qa/1151.out","contentType":"file"},{"name":"1152","path":"qa/1152","contentType":"file"},{"name":"1152.out","path":"qa/1152.out","contentType":"file"},{"name":"1153","path":"qa/1153","contentType":"file"},{"name":"1153.out","path":"qa/1153.out","contentType":"file"},{"name":"1154","path":"qa/1154","contentType":"file"},{"name":"1154.out","path":"qa/1154.out","contentType":"file"},{"name":"1155","path":"qa/1155","contentType":"file"},{"name":"1155.out","path":"qa/1155.out","contentType":"file"},{"name":"1156","path":"qa/1156","contentType":"file"},{"name":"1156.out","path":"qa/1156.out","contentType":"file"},{"name":"1157","path":"qa/1157","contentType":"file"},{"name":"1157.out","path":"qa/1157.out","contentType":"file"},{"name":"1158","path":"qa/1158","contentType":"file"},{"name":"1158.out","path":"qa/1158.out","contentType":"file"},{"name":"1159","path":"qa/1159","contentType":"file"},{"name":"1159.out","path":"qa/1159.out","contentType":"file"},{"name":"116","path":"qa/116","contentType":"file"},{"name":"116.out","path":"qa/116.out","contentType":"file"},{"name":"1160","path":"qa/1160","contentType":"file"},{"name":"1160.out","path":"qa/1160.out","contentType":"file"},{"name":"1161","path":"qa/1161","contentType":"file"},{"name":"1161.out","path":"qa/1161.out","contentType":"file"},{"name":"1162","path":"qa/1162","contentType":"file"},{"name":"1162.out","path":"qa/1162.out","contentType":"file"},{"name":"1163","path":"qa/1163","contentType":"file"},{"name":"1163.out","path":"qa/1163.out","contentType":"file"},{"name":"1164","path":"qa/1164","contentType":"file"},{"name":"1164.out","path":"qa/1164.out","contentType":"file"},{"name":"1165","path":"qa/1165","contentType":"file"},{"name":"1165.out","path":"qa/1165.out","contentType":"file"},{"name":"1166","path":"qa/1166","contentType":"file"},{"name":"1166.out","path":"qa/1166.out","contentType":"file"},{"name":"1167","path":"qa/1167","contentType":"file"},{"name":"1167.out","path":"qa/1167.out","contentType":"file"},{"name":"1168","path":"qa/1168","contentType":"file"},{"name":"1168.out","path":"qa/1168.out","contentType":"file"},{"name":"1169","path":"qa/1169","contentType":"file"},{"name":"1169.out","path":"qa/1169.out","contentType":"file"},{"name":"117","path":"qa/117","contentType":"file"},{"name":"117.out","path":"qa/117.out","contentType":"file"},{"name":"1170","path":"qa/1170","contentType":"file"},{"name":"1170.out","path":"qa/1170.out","contentType":"file"},{"name":"1171","path":"qa/1171","contentType":"file"},{"name":"1171.out","path":"qa/1171.out","contentType":"file"},{"name":"1172","path":"qa/1172","contentType":"file"},{"name":"1172.out","path":"qa/1172.out","contentType":"file"},{"name":"1173","path":"qa/1173","contentType":"file"},{"name":"1173.out","path":"qa/1173.out","contentType":"file"},{"name":"1174","path":"qa/1174","contentType":"file"},{"name":"1174.out","path":"qa/1174.out","contentType":"file"},{"name":"1175","path":"qa/1175","contentType":"file"},{"name":"1175.out","path":"qa/1175.out","contentType":"file"},{"name":"1176","path":"qa/1176","contentType":"file"},{"name":"1176.out","path":"qa/1176.out","contentType":"file"},{"name":"1177","path":"qa/1177","contentType":"file"},{"name":"1177.out","path":"qa/1177.out","contentType":"file"},{"name":"1178","path":"qa/1178","contentType":"file"},{"name":"1178.out","path":"qa/1178.out","contentType":"file"},{"name":"1179","path":"qa/1179","contentType":"file"},{"name":"1179.out","path":"qa/1179.out","contentType":"file"},{"name":"118","path":"qa/118","contentType":"file"},{"name":"118.out","path":"qa/118.out","contentType":"file"},{"name":"1180","path":"qa/1180","contentType":"file"},{"name":"1180.out","path":"qa/1180.out","contentType":"file"},{"name":"1181","path":"qa/1181","contentType":"file"},{"name":"1181.out","path":"qa/1181.out","contentType":"file"},{"name":"1182","path":"qa/1182","contentType":"file"},{"name":"1182.out","path":"qa/1182.out","contentType":"file"},{"name":"1183","path":"qa/1183","contentType":"file"},{"name":"1183.out","path":"qa/1183.out","contentType":"file"},{"name":"1184","path":"qa/1184","contentType":"file"},{"name":"1184.out","path":"qa/1184.out","contentType":"file"},{"name":"1185","path":"qa/1185","contentType":"file"},{"name":"1185.out","path":"qa/1185.out","contentType":"file"},{"name":"1186","path":"qa/1186","contentType":"file"},{"name":"1186.out","path":"qa/1186.out","contentType":"file"},{"name":"1187","path":"qa/1187","contentType":"file"},{"name":"1187.out","path":"qa/1187.out","contentType":"file"},{"name":"1188","path":"qa/1188","contentType":"file"},{"name":"1188.out","path":"qa/1188.out","contentType":"file"},{"name":"1189","path":"qa/1189","contentType":"file"},{"name":"1189.out","path":"qa/1189.out","contentType":"file"},{"name":"119","path":"qa/119","contentType":"file"},{"name":"119.out","path":"qa/119.out","contentType":"file"},{"name":"1190","path":"qa/1190","contentType":"file"},{"name":"1190.out","path":"qa/1190.out","contentType":"file"},{"name":"1191","path":"qa/1191","contentType":"file"},{"name":"1191.out","path":"qa/1191.out","contentType":"file"},{"name":"1192","path":"qa/1192","contentType":"file"},{"name":"1192.out","path":"qa/1192.out","contentType":"file"},{"name":"1193","path":"qa/1193","contentType":"file"},{"name":"1193.out","path":"qa/1193.out","contentType":"file"},{"name":"1194","path":"qa/1194","contentType":"file"},{"name":"1194.out","path":"qa/1194.out","contentType":"file"},{"name":"1195","path":"qa/1195","contentType":"file"},{"name":"1195.out","path":"qa/1195.out","contentType":"file"},{"name":"1196","path":"qa/1196","contentType":"file"},{"name":"1196.out","path":"qa/1196.out","contentType":"file"},{"name":"1197","path":"qa/1197","contentType":"file"},{"name":"1197.out","path":"qa/1197.out","contentType":"file"},{"name":"1198","path":"qa/1198","contentType":"file"},{"name":"1198.out","path":"qa/1198.out","contentType":"file"},{"name":"1199","path":"qa/1199","contentType":"file"},{"name":"1199.out","path":"qa/1199.out","contentType":"file"},{"name":"120","path":"qa/120","contentType":"file"},{"name":"120.out","path":"qa/120.out","contentType":"file"},{"name":"1200","path":"qa/1200","contentType":"file"},{"name":"1200.out","path":"qa/1200.out","contentType":"file"},{"name":"1201","path":"qa/1201","contentType":"file"},{"name":"1201.out","path":"qa/1201.out","contentType":"file"},{"name":"1202","path":"qa/1202","contentType":"file"},{"name":"1202.out","path":"qa/1202.out","contentType":"file"},{"name":"1203","path":"qa/1203","contentType":"file"},{"name":"1203.out","path":"qa/1203.out","contentType":"file"},{"name":"1204","path":"qa/1204","contentType":"file"},{"name":"1204.out","path":"qa/1204.out","contentType":"file"},{"name":"1205","path":"qa/1205","contentType":"file"},{"name":"1205.out","path":"qa/1205.out","contentType":"file"},{"name":"1206","path":"qa/1206","contentType":"file"},{"name":"1206.out","path":"qa/1206.out","contentType":"file"},{"name":"1207","path":"qa/1207","contentType":"file"},{"name":"1207.out","path":"qa/1207.out","contentType":"file"},{"name":"1208","path":"qa/1208","contentType":"file"},{"name":"1208.out","path":"qa/1208.out","contentType":"file"},{"name":"1209","path":"qa/1209","contentType":"file"},{"name":"1209.out","path":"qa/1209.out","contentType":"file"},{"name":"121","path":"qa/121","contentType":"file"},{"name":"121.out","path":"qa/121.out","contentType":"file"},{"name":"1210","path":"qa/1210","contentType":"file"},{"name":"1210.out","path":"qa/1210.out","contentType":"file"},{"name":"1211","path":"qa/1211","contentType":"file"},{"name":"1211.out","path":"qa/1211.out","contentType":"file"},{"name":"1212","path":"qa/1212","contentType":"file"},{"name":"1212.out","path":"qa/1212.out","contentType":"file"},{"name":"1213","path":"qa/1213","contentType":"file"},{"name":"1213.out","path":"qa/1213.out","contentType":"file"},{"name":"1214","path":"qa/1214","contentType":"file"},{"name":"1214.out","path":"qa/1214.out","contentType":"file"},{"name":"1215","path":"qa/1215","contentType":"file"},{"name":"1215.out","path":"qa/1215.out","contentType":"file"},{"name":"1216","path":"qa/1216","contentType":"file"},{"name":"1216.out","path":"qa/1216.out","contentType":"file"},{"name":"1217","path":"qa/1217","contentType":"file"},{"name":"1217.out","path":"qa/1217.out","contentType":"file"},{"name":"1218","path":"qa/1218","contentType":"file"},{"name":"1218.out","path":"qa/1218.out","contentType":"file"},{"name":"1219","path":"qa/1219","contentType":"file"},{"name":"1219.out","path":"qa/1219.out","contentType":"file"},{"name":"122","path":"qa/122","contentType":"file"},{"name":"122.out","path":"qa/122.out","contentType":"file"},{"name":"1220","path":"qa/1220","contentType":"file"},{"name":"1220.out","path":"qa/1220.out","contentType":"file"},{"name":"1221","path":"qa/1221","contentType":"file"},{"name":"1221.out","path":"qa/1221.out","contentType":"file"},{"name":"1222","path":"qa/1222","contentType":"file"},{"name":"1222.out","path":"qa/1222.out","contentType":"file"},{"name":"1223","path":"qa/1223","contentType":"file"},{"name":"1223.out","path":"qa/1223.out","contentType":"file"},{"name":"1224","path":"qa/1224","contentType":"file"},{"name":"1224.out","path":"qa/1224.out","contentType":"file"},{"name":"1226","path":"qa/1226","contentType":"file"},{"name":"1226.out","path":"qa/1226.out","contentType":"file"},{"name":"1227","path":"qa/1227","contentType":"file"},{"name":"1227.out","path":"qa/1227.out","contentType":"file"},{"name":"1228","path":"qa/1228","contentType":"file"},{"name":"1228.out","path":"qa/1228.out","contentType":"file"},{"name":"1229","path":"qa/1229","contentType":"file"},{"name":"1229.out","path":"qa/1229.out","contentType":"file"},{"name":"123","path":"qa/123","contentType":"file"},{"name":"123.out","path":"qa/123.out","contentType":"file"},{"name":"1230","path":"qa/1230","contentType":"file"},{"name":"1230.out","path":"qa/1230.out","contentType":"file"},{"name":"1231","path":"qa/1231","contentType":"file"},{"name":"1231.out","path":"qa/1231.out","contentType":"file"},{"name":"1232","path":"qa/1232","contentType":"file"},{"name":"1232.out","path":"qa/1232.out","contentType":"file"},{"name":"1233","path":"qa/1233","contentType":"file"},{"name":"1233.out","path":"qa/1233.out","contentType":"file"},{"name":"1234","path":"qa/1234","contentType":"file"},{"name":"1234.out","path":"qa/1234.out","contentType":"file"},{"name":"1235","path":"qa/1235","contentType":"file"},{"name":"1235.out","path":"qa/1235.out","contentType":"file"},{"name":"1236","path":"qa/1236","contentType":"file"},{"name":"1236.out","path":"qa/1236.out","contentType":"file"},{"name":"1237","path":"qa/1237","contentType":"file"},{"name":"1237.out","path":"qa/1237.out","contentType":"file"},{"name":"1238","path":"qa/1238","contentType":"file"},{"name":"1238.out","path":"qa/1238.out","contentType":"file"},{"name":"1239","path":"qa/1239","contentType":"file"},{"name":"1239.out","path":"qa/1239.out","contentType":"file"},{"name":"124","path":"qa/124","contentType":"file"},{"name":"124.out","path":"qa/124.out","contentType":"file"},{"name":"1240","path":"qa/1240","contentType":"file"},{"name":"1240.out","path":"qa/1240.out","contentType":"file"},{"name":"1241","path":"qa/1241","contentType":"file"},{"name":"1241.out","path":"qa/1241.out","contentType":"file"},{"name":"1242","path":"qa/1242","contentType":"file"},{"name":"1242.out","path":"qa/1242.out","contentType":"file"},{"name":"1243","path":"qa/1243","contentType":"file"},{"name":"1243.out","path":"qa/1243.out","contentType":"file"},{"name":"1244","path":"qa/1244","contentType":"file"},{"name":"1244.out","path":"qa/1244.out","contentType":"file"},{"name":"1245","path":"qa/1245","contentType":"file"},{"name":"1245.out","path":"qa/1245.out","contentType":"file"},{"name":"1246","path":"qa/1246","contentType":"file"},{"name":"1246.out","path":"qa/1246.out","contentType":"file"},{"name":"1247","path":"qa/1247","contentType":"file"},{"name":"1247.out","path":"qa/1247.out","contentType":"file"},{"name":"1248","path":"qa/1248","contentType":"file"},{"name":"1248.out","path":"qa/1248.out","contentType":"file"},{"name":"1249","path":"qa/1249","contentType":"file"},{"name":"1249.out","path":"qa/1249.out","contentType":"file"},{"name":"125","path":"qa/125","contentType":"file"},{"name":"125.out","path":"qa/125.out","contentType":"file"},{"name":"1250","path":"qa/1250","contentType":"file"},{"name":"1250.out","path":"qa/1250.out","contentType":"file"},{"name":"1251","path":"qa/1251","contentType":"file"},{"name":"1251.out.no_xM","path":"qa/1251.out.no_xM","contentType":"file"},{"name":"1251.out.xM","path":"qa/1251.out.xM","contentType":"file"},{"name":"1252","path":"qa/1252","contentType":"file"},{"name":"1252.out","path":"qa/1252.out","contentType":"file"},{"name":"1253","path":"qa/1253","contentType":"file"},{"name":"1253.out","path":"qa/1253.out","contentType":"file"},{"name":"1254","path":"qa/1254","contentType":"file"},{"name":"1254.out","path":"qa/1254.out","contentType":"file"},{"name":"1255","path":"qa/1255","contentType":"file"},{"name":"1255.out","path":"qa/1255.out","contentType":"file"},{"name":"1256","path":"qa/1256","contentType":"file"},{"name":"1256.out","path":"qa/1256.out","contentType":"file"},{"name":"1257","path":"qa/1257","contentType":"file"},{"name":"1257.out","path":"qa/1257.out","contentType":"file"},{"name":"1258","path":"qa/1258","contentType":"file"},{"name":"1258.out","path":"qa/1258.out","contentType":"file"},{"name":"1259","path":"qa/1259","contentType":"file"},{"name":"1259.out","path":"qa/1259.out","contentType":"file"},{"name":"126","path":"qa/126","contentType":"file"},{"name":"126.out.1","path":"qa/126.out.1","contentType":"file"},{"name":"126.out.2","path":"qa/126.out.2","contentType":"file"},{"name":"1260","path":"qa/1260","contentType":"file"},{"name":"1260.out","path":"qa/1260.out","contentType":"file"},{"name":"1261","path":"qa/1261","contentType":"file"},{"name":"1261.out","path":"qa/1261.out","contentType":"file"},{"name":"1262","path":"qa/1262","contentType":"file"},{"name":"1262.out","path":"qa/1262.out","contentType":"file"},{"name":"1263","path":"qa/1263","contentType":"file"},{"name":"1263.out","path":"qa/1263.out","contentType":"file"},{"name":"1265","path":"qa/1265","contentType":"file"},{"name":"1265.out","path":"qa/1265.out","contentType":"file"},{"name":"1266","path":"qa/1266","contentType":"file"},{"name":"1266.out","path":"qa/1266.out","contentType":"file"},{"name":"1267","path":"qa/1267","contentType":"file"},{"name":"1267.out","path":"qa/1267.out","contentType":"file"},{"name":"1268","path":"qa/1268","contentType":"file"},{"name":"1268.out","path":"qa/1268.out","contentType":"file"},{"name":"1269","path":"qa/1269","contentType":"file"},{"name":"1269.out","path":"qa/1269.out","contentType":"file"},{"name":"127","path":"qa/127","contentType":"file"},{"name":"127.out","path":"qa/127.out","contentType":"file"},{"name":"1270","path":"qa/1270","contentType":"file"},{"name":"1270.out","path":"qa/1270.out","contentType":"file"},{"name":"1271","path":"qa/1271","contentType":"file"},{"name":"1271.out","path":"qa/1271.out","contentType":"file"},{"name":"1272","path":"qa/1272","contentType":"file"},{"name":"1272.out","path":"qa/1272.out","contentType":"file"},{"name":"1273","path":"qa/1273","contentType":"file"},{"name":"1273.out","path":"qa/1273.out","contentType":"file"},{"name":"1274","path":"qa/1274","contentType":"file"},{"name":"1274.out","path":"qa/1274.out","contentType":"file"},{"name":"1275","path":"qa/1275","contentType":"file"},{"name":"1275.out","path":"qa/1275.out","contentType":"file"},{"name":"1276","path":"qa/1276","contentType":"file"},{"name":"1276.out","path":"qa/1276.out","contentType":"file"},{"name":"1277","path":"qa/1277","contentType":"file"},{"name":"1277.out","path":"qa/1277.out","contentType":"file"},{"name":"1278","path":"qa/1278","contentType":"file"},{"name":"1278.out","path":"qa/1278.out","contentType":"file"},{"name":"1279","path":"qa/1279","contentType":"file"},{"name":"1279.out","path":"qa/1279.out","contentType":"file"},{"name":"128","path":"qa/128","contentType":"file"},{"name":"128.out","path":"qa/128.out","contentType":"file"},{"name":"1280","path":"qa/1280","contentType":"file"},{"name":"1280.out","path":"qa/1280.out","contentType":"file"},{"name":"1281","path":"qa/1281","contentType":"file"},{"name":"1281.out","path":"qa/1281.out","contentType":"file"},{"name":"1282","path":"qa/1282","contentType":"file"},{"name":"1282.out","path":"qa/1282.out","contentType":"file"},{"name":"1283","path":"qa/1283","contentType":"file"},{"name":"1283.out","path":"qa/1283.out","contentType":"file"},{"name":"1284","path":"qa/1284","contentType":"file"},{"name":"1284.out","path":"qa/1284.out","contentType":"file"},{"name":"1285","path":"qa/1285","contentType":"file"},{"name":"1285.out","path":"qa/1285.out","contentType":"file"},{"name":"1286","path":"qa/1286","contentType":"file"},{"name":"1286.out","path":"qa/1286.out","contentType":"file"},{"name":"1287","path":"qa/1287","contentType":"file"},{"name":"1287.out","path":"qa/1287.out","contentType":"file"},{"name":"1288","path":"qa/1288","contentType":"file"},{"name":"1288.out","path":"qa/1288.out","contentType":"file"},{"name":"1289","path":"qa/1289","contentType":"file"},{"name":"1289.out","path":"qa/1289.out","contentType":"file"},{"name":"129","path":"qa/129","contentType":"file"},{"name":"129.out","path":"qa/129.out","contentType":"file"},{"name":"1290","path":"qa/1290","contentType":"file"},{"name":"1290.out","path":"qa/1290.out","contentType":"file"},{"name":"1291","path":"qa/1291","contentType":"file"},{"name":"1291.out","path":"qa/1291.out","contentType":"file"},{"name":"1292","path":"qa/1292","contentType":"file"},{"name":"1292.out","path":"qa/1292.out","contentType":"file"},{"name":"1293","path":"qa/1293","contentType":"file"},{"name":"1293.out","path":"qa/1293.out","contentType":"file"},{"name":"1294","path":"qa/1294","contentType":"file"},{"name":"1294.out","path":"qa/1294.out","contentType":"file"},{"name":"1295","path":"qa/1295","contentType":"file"},{"name":"1295.out","path":"qa/1295.out","contentType":"file"},{"name":"1296","path":"qa/1296","contentType":"file"},{"name":"1296.out","path":"qa/1296.out","contentType":"file"},{"name":"1297","path":"qa/1297","contentType":"file"},{"name":"1297.out","path":"qa/1297.out","contentType":"file"},{"name":"1298","path":"qa/1298","contentType":"file"},{"name":"1298.out","path":"qa/1298.out","contentType":"file"},{"name":"1299","path":"qa/1299","contentType":"file"},{"name":"1299.out","path":"qa/1299.out","contentType":"file"},{"name":"130","path":"qa/130","contentType":"file"},{"name":"130.out.0","path":"qa/130.out.0","contentType":"file"},{"name":"130.out.1","path":"qa/130.out.1","contentType":"file"},{"name":"1300","path":"qa/1300","contentType":"file"},{"name":"1300.out","path":"qa/1300.out","contentType":"file"},{"name":"1301","path":"qa/1301","contentType":"file"},{"name":"1301.out","path":"qa/1301.out","contentType":"file"},{"name":"1302","path":"qa/1302","contentType":"file"},{"name":"1302.out","path":"qa/1302.out","contentType":"file"},{"name":"1303","path":"qa/1303","contentType":"file"},{"name":"1303.out","path":"qa/1303.out","contentType":"file"},{"name":"1304","path":"qa/1304","contentType":"file"},{"name":"1304.out","path":"qa/1304.out","contentType":"file"},{"name":"1305","path":"qa/1305","contentType":"file"},{"name":"1305.out","path":"qa/1305.out","contentType":"file"},{"name":"1306","path":"qa/1306","contentType":"file"},{"name":"1306.out","path":"qa/1306.out","contentType":"file"},{"name":"1307","path":"qa/1307","contentType":"file"},{"name":"1307.out","path":"qa/1307.out","contentType":"file"},{"name":"1308","path":"qa/1308","contentType":"file"},{"name":"1308.out","path":"qa/1308.out","contentType":"file"},{"name":"1309","path":"qa/1309","contentType":"file"},{"name":"1309.out","path":"qa/1309.out","contentType":"file"},{"name":"131","path":"qa/131","contentType":"file"},{"name":"131.out","path":"qa/131.out","contentType":"file"},{"name":"1310","path":"qa/1310","contentType":"file"},{"name":"1310.out","path":"qa/1310.out","contentType":"file"},{"name":"1311","path":"qa/1311","contentType":"file"},{"name":"1311.out","path":"qa/1311.out","contentType":"file"},{"name":"1312","path":"qa/1312","contentType":"file"},{"name":"1312.out","path":"qa/1312.out","contentType":"file"},{"name":"1313","path":"qa/1313","contentType":"file"},{"name":"1313.out","path":"qa/1313.out","contentType":"file"},{"name":"1314","path":"qa/1314","contentType":"file"},{"name":"1314.out","path":"qa/1314.out","contentType":"file"},{"name":"1315","path":"qa/1315","contentType":"file"},{"name":"1315.out","path":"qa/1315.out","contentType":"file"},{"name":"1316","path":"qa/1316","contentType":"file"},{"name":"1316.out","path":"qa/1316.out","contentType":"file"},{"name":"1317","path":"qa/1317","contentType":"file"},{"name":"1317.out","path":"qa/1317.out","contentType":"file"},{"name":"1318","path":"qa/1318","contentType":"file"},{"name":"1318.out","path":"qa/1318.out","contentType":"file"},{"name":"1319","path":"qa/1319","contentType":"file"},{"name":"1319.out","path":"qa/1319.out","contentType":"file"},{"name":"132","path":"qa/132","contentType":"file"},{"name":"132.out","path":"qa/132.out","contentType":"file"},{"name":"1320","path":"qa/1320","contentType":"file"},{"name":"1320.out","path":"qa/1320.out","contentType":"file"},{"name":"1321","path":"qa/1321","contentType":"file"},{"name":"1321.out","path":"qa/1321.out","contentType":"file"},{"name":"1322","path":"qa/1322","contentType":"file"},{"name":"1322.out","path":"qa/1322.out","contentType":"file"},{"name":"1323","path":"qa/1323","contentType":"file"},{"name":"1323.out","path":"qa/1323.out","contentType":"file"},{"name":"1324","path":"qa/1324","contentType":"file"},{"name":"1324.out","path":"qa/1324.out","contentType":"file"},{"name":"1325","path":"qa/1325","contentType":"file"},{"name":"1325.out","path":"qa/1325.out","contentType":"file"},{"name":"1326","path":"qa/1326","contentType":"file"},{"name":"1326.out","path":"qa/1326.out","contentType":"file"},{"name":"1327","path":"qa/1327","contentType":"file"},{"name":"1327.out","path":"qa/1327.out","contentType":"file"},{"name":"1328","path":"qa/1328","contentType":"file"},{"name":"1328.out","path":"qa/1328.out","contentType":"file"},{"name":"1329","path":"qa/1329","contentType":"file"},{"name":"1329.out","path":"qa/1329.out","contentType":"file"},{"name":"133","path":"qa/133","contentType":"file"},{"name":"133.out","path":"qa/133.out","contentType":"file"},{"name":"1330","path":"qa/1330","contentType":"file"},{"name":"1330.out","path":"qa/1330.out","contentType":"file"},{"name":"1331","path":"qa/1331","contentType":"file"},{"name":"1331.out","path":"qa/1331.out","contentType":"file"},{"name":"1332","path":"qa/1332","contentType":"file"},{"name":"1332.out","path":"qa/1332.out","contentType":"file"},{"name":"1333","path":"qa/1333","contentType":"file"},{"name":"1333.out","path":"qa/1333.out","contentType":"file"},{"name":"1334","path":"qa/1334","contentType":"file"},{"name":"1334.out","path":"qa/1334.out","contentType":"file"},{"name":"1335","path":"qa/1335","contentType":"file"},{"name":"1335.out","path":"qa/1335.out","contentType":"file"},{"name":"1336","path":"qa/1336","contentType":"file"},{"name":"1336.out","path":"qa/1336.out","contentType":"file"},{"name":"1337","path":"qa/1337","contentType":"file"},{"name":"1337.out","path":"qa/1337.out","contentType":"file"},{"name":"1338","path":"qa/1338","contentType":"file"},{"name":"1338.out","path":"qa/1338.out","contentType":"file"},{"name":"1339","path":"qa/1339","contentType":"file"},{"name":"1339.out","path":"qa/1339.out","contentType":"file"},{"name":"134","path":"qa/134","contentType":"file"},{"name":"134.out","path":"qa/134.out","contentType":"file"},{"name":"1340","path":"qa/1340","contentType":"file"},{"name":"1340.out","path":"qa/1340.out","contentType":"file"},{"name":"1341","path":"qa/1341","contentType":"file"},{"name":"1341.out","path":"qa/1341.out","contentType":"file"},{"name":"1342","path":"qa/1342","contentType":"file"},{"name":"1342.out","path":"qa/1342.out","contentType":"file"},{"name":"1343","path":"qa/1343","contentType":"file"},{"name":"1343.out","path":"qa/1343.out","contentType":"file"},{"name":"1344","path":"qa/1344","contentType":"file"},{"name":"1344.out","path":"qa/1344.out","contentType":"file"},{"name":"1345","path":"qa/1345","contentType":"file"}],"totalCount":3495},"":{"items":[{"name":"qa","path":"qa","contentType":"directory"}]}},"fileTreeProcessingTime":306.783194,"foldersToFetch":[""],"reducedMotionEnabled":null,"repo":{"id":23028937,"defaultBranch":"main","name":"pcp","ownerLogin":"performancecopilot","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-08-16T23:06:22.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8467970?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"main","listCacheKey":"v0:1687736378.0","canEdit":false,"refType":"branch","currentOid":"4804969aaaf512721cfa6f6fae7e0f300340cb17"},"path":"qa/hacluster/hacluster-root-002.tgz","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/performancecopilot/pcp/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null,"repoAlertsPath":"/performancecopilot/pcp/security/dependabot","repoSecurityAndAnalysisPath":"/performancecopilot/pcp/settings/security_analysis","repoOwnerIsOrg":true,"currentUserCanAdminRepo":false},"displayName":"hacluster-root-002.tgz","displayUrl":"https://github.com/performancecopilot/pcp/blob/main/qa/hacluster/hacluster-root-002.tgz?raw=true","headerInfo":{"blobSize":"3.09 KB","deleteInfo":{"deleteTooltip":"You must be signed in to make or propose changes"},"editInfo":{"editTooltip":"You must be signed in to make or propose changes"},"ghDesktopPath":"https://desktop.github.com","gitLfsPath":null,"onBranch":true,"shortPath":"0c89ce0","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fperformancecopilot%2Fpcp%2Fblob%2Fmain%2Fqa%2Fhacluster%2Fhacluster-root-002.tgz","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":null,"truncatedSloc":null},"mode":"file"},"image":false,"isCodeownersFile":null,"isValidLegacyIssueTemplate":false,"issueTemplateHelpUrl":"https://docs.github.com/articles/about-issue-and-pull-request-templates","issueTemplate":null,"discussionTemplate":null,"language":null,"large":false,"loggedIn":false,"newDiscussionPath":"/performancecopilot/pcp/discussions/new","newIssuePath":"/performancecopilot/pcp/issues/new","planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/performancecopilot/pcp/blob/main/qa/hacluster/hacluster-root-002.tgz","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","dismissStackNoticePath":"/settings/dismiss-notice/publish_stack_from_file","releasePath":"/performancecopilot/pcp/releases/new?marketplace=true","showPublishActionBanner":false,"showPublishStackBanner":false},"renderImageOrRaw":true,"richText":null,"renderedFileInfo":null,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"repoOwner":"performancecopilot","repoName":"pcp","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","showDependabotConfigurationBanner":false,"actionsOnboardingTip":null},"truncated":false,"viewable":false,"workflowRedirectUrl":null,"symbols":null},"copilotAccessInfo":null,"csrf_tokens":{"/performancecopilot/pcp/branches":{"post":"fiuW0cwKqbS1yJhFdtzgXRaSTaSJsULY6dcmQnLro1Ksmwbbd0j0pRglLwc9k0kfK4xPHn3OENfG2afJ8xPWxw"}}},"title":"pcp/qa/hacluster/hacluster-root-002.tgz at main ยท performancecopilot/pcp","locale":"en"} +\ No newline at end of file +diff -Naurp pcp-5.3.7.orig/src/pmdas/hacluster/help pcp-5.3.7/src/pmdas/hacluster/help +--- pcp-5.3.7.orig/src/pmdas/hacluster/help 2023-07-10 16:51:15.069365777 +1000 ++++ pcp-5.3.7/src/pmdas/hacluster/help 2023-07-10 16:52:18.069511419 +1000 +@@ -103,9 +103,9 @@ of 1 confirms the node status as shutdow + Whether the expected_up status is reported by the node in the cluster, a + value of 1 confirms the node status as expected_up. + +-@ ha_cluster.pacemaker.nodes.status.dc Whether the node status is given as disconnected +-Whether the disconnected status is reported by the node in the cluster, a +-value of 1 confirms the node status as disconnected. ++@ ha_cluster.pacemaker.nodes.status.dc Whether the node status is given as the DC ++Whether the DC status is reported by the node in the cluster, a ++value of 1 confirms the node status as the designated coordinator. + + @ ha_cluster.pacemaker.resources.agent The name of the resource agent for this resource + The name given for the resource agent for the given resource instance in the +diff -Naurp pcp-5.3.7.orig/src/pmdas/hacluster/pacemaker.c pcp-5.3.7/src/pmdas/hacluster/pacemaker.c +--- pcp-5.3.7.orig/src/pmdas/hacluster/pacemaker.c 2023-07-10 16:51:15.069365777 +1000 ++++ pcp-5.3.7/src/pmdas/hacluster/pacemaker.c 2023-07-10 16:52:18.069511419 +1000 +@@ -534,18 +534,33 @@ hacluster_refresh_pacemaker_nodes(const + + /* Collect our node names */ + if (found_nodes && strstr(buffer, node_name)) { +- sscanf(buffer, "%*s %*s %*s online=\"%9[^\"]\" standby=\"%9[^\"]\" standby_onfail=\"%9[^\"]\" maintenance=\"%9[^\"]\" pending=\"%9[^\"]\" unclean=\"%9[^\"]\" shutdown=\"%9[^\"]\" expected_up=\"%9[^\"]\" is_dc =\"%9[^\"]\" %*s type=\"%9[^\"]\"", +- online, +- standby, +- standby_on_fail, +- maintenance, +- pending, +- unclean, +- shutdown, +- expected_up, +- dc, +- nodes->type +- ); ++ if(strstr(buffer, "feature_set")) { ++ sscanf(buffer, "%*s %*s %*s online=\"%9[^\"]\" standby=\"%9[^\"]\" standby_onfail=\"%9[^\"]\" maintenance=\"%9[^\"]\" pending=\"%9[^\"]\" unclean=\"%9[^\"]\" %*s %*s shutdown=\"%9[^\"]\" expected_up=\"%9[^\"]\" is_dc =\"%9[^\"]\" %*s type=\"%9[^\"]\"", ++ online, ++ standby, ++ standby_on_fail, ++ maintenance, ++ pending, ++ unclean, ++ shutdown, ++ expected_up, ++ dc, ++ nodes->type ++ ); ++ } else { ++ sscanf(buffer, "%*s %*s %*s online=\"%9[^\"]\" standby=\"%9[^\"]\" standby_onfail=\"%9[^\"]\" maintenance=\"%9[^\"]\" pending=\"%9[^\"]\" unclean=\"%9[^\"]\" shutdown=\"%9[^\"]\" expected_up=\"%9[^\"]\" is_dc =\"%9[^\"]\" %*s type=\"%9[^\"]\"", ++ online, ++ standby, ++ standby_on_fail, ++ maintenance, ++ pending, ++ unclean, ++ shutdown, ++ expected_up, ++ dc, ++ nodes->type ++ ); ++ } + + nodes->online = bool_convert(online); + nodes->standby = bool_convert(standby); diff --git a/SPECS/pcp.spec b/SPECS/pcp.spec index 14b0924..e56a514 100644 --- a/SPECS/pcp.spec +++ b/SPECS/pcp.spec @@ -1,6 +1,6 @@ Name: pcp Version: 5.3.7 -Release: 16%{?dist} +Release: 17%{?dist}.alma Summary: System-level performance monitoring and performance management License: GPLv2+ and LGPLv2+ and CC-BY URL: https://pcp.io @@ -19,6 +19,9 @@ Patch8: redhat-bugzilla-2101574-farm-config.patch Patch9: redhat-bugzilla-2135314-pmfind-fix.patch Patch10: redhat-bugzilla-2139012-pmdasnmp-config.patch Patch11: redhat-build-jsonsl.patch +# Patches were taken from: +# https://gitlab.com/redhat/centos-stream/rpms/pcp/-/blob/fef0a6b90657ce7aeb6fb2fd6980e1472e8870b8/redhat-bugzilla-2219731-hacluster-metrics.patch +Patch12: redhat-bugzilla-2219731-hacluster-metrics.patch # The additional linker flags break out-of-tree PMDAs. # https://bugzilla.redhat.com/show_bug.cgi?id=2043092 @@ -2299,6 +2302,7 @@ updated policy package. %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 %build # the buildsubdir macro gets defined in %setup and is apparently only available in the next step (i.e. the %build step) @@ -3370,6 +3374,9 @@ fi %files zeroconf -f pcp-zeroconf-files.rpm %changelog +* Wed Aug 09 2023 Eduard Abdullin - 5.3.7-17.alma +- Fix hacluster metrics with current Pacemaker (BZ 2219731) + * Thu Nov 17 2022 Nathan Scott - 5.3.7-16 - Ensure SNMP metrics config symlink installed (BZ 2139012)