Browse Source

initial package creation

Signed-off-by: Toshaan Bharvani <toshaan@powerel.org>
master
Toshaan Bharvani 8 months ago
commit
18dd3ade35
  1. 88
      SOURCES/redhat-bugzilla-2117074-ppc_arm_vmlinux.h.patch
  2. 19
      SOURCES/redhat-bugzilla-2117074-vendored_vmlinux.h.patch
  3. 749
      SOURCES/redhat-bugzilla-2219731-hacluster-metrics.patch
  4. 4148
      SPECS/pcp.spec

88
SOURCES/redhat-bugzilla-2117074-ppc_arm_vmlinux.h.patch

@ -0,0 +1,88 @@ @@ -0,0 +1,88 @@
diff --git a/vendor/github.com/iovisor/bcc/libbpf-tools/arm64/vmlinux_510.h b/vendor/github.com/iovisor/bcc/libbpf-tools/arm64/vmlinux_510.h
index f84b1347bf..3c032f5230 100644
--- a/vendor/github.com/iovisor/bcc/libbpf-tools/arm64/vmlinux_510.h
+++ b/vendor/github.com/iovisor/bcc/libbpf-tools/arm64/vmlinux_510.h
@@ -1678,6 +1678,7 @@ struct perf_event {
int pending_wakeup;
int pending_kill;
int pending_disable;
+ long unsigned int pending_addr;
struct irq_work pending;
atomic_t event_limit;
struct perf_addr_filters_head addr_filters;
@@ -1693,6 +1694,7 @@ struct perf_event {
void *overflow_handler_context;
perf_overflow_handler_t orig_overflow_handler;
struct bpf_prog *prog;
+ u64 bpf_cookie;
struct trace_event_call *tp_event;
struct event_filter *filter;
struct ftrace_ops ftrace_ops;
@@ -26070,7 +26072,10 @@ enum bpf_link_type {
BPF_LINK_TYPE_ITER = 4,
BPF_LINK_TYPE_NETNS = 5,
BPF_LINK_TYPE_XDP = 6,
- MAX_BPF_LINK_TYPE = 7,
+ BPF_LINK_TYPE_PERF_EVENT = 7,
+ BPF_LINK_TYPE_KPROBE_MULTI = 8,
+ BPF_LINK_TYPE_STRUCT_OPS = 9,
+ MAX_BPF_LINK_TYPE = 10,
};
struct bpf_link_info {
@@ -30363,6 +30368,11 @@ struct bpf_raw_tp_link {
struct bpf_raw_event_map *btp;
};
+struct bpf_perf_link {
+ struct bpf_link link;
+ struct file *perf_file;
+};
+
struct btf_member {
__u32 name_off;
__u32 type;
diff --git a/vendor/github.com/iovisor/bcc/libbpf-tools/powerpc/vmlinux_510.h b/vendor/github.com/iovisor/bcc/libbpf-tools/powerpc/vmlinux_510.h
index 3b1b0127d1..052db391d4 100644
--- a/vendor/github.com/iovisor/bcc/libbpf-tools/powerpc/vmlinux_510.h
+++ b/vendor/github.com/iovisor/bcc/libbpf-tools/powerpc/vmlinux_510.h
@@ -4345,6 +4345,7 @@ struct perf_event {
int pending_wakeup;
int pending_kill;
int pending_disable;
+ long unsigned int pending_addr;
struct irq_work pending;
atomic_t event_limit;
struct perf_addr_filters_head addr_filters;
@@ -4360,6 +4361,7 @@ struct perf_event {
void *overflow_handler_context;
perf_overflow_handler_t orig_overflow_handler;
struct bpf_prog *prog;
+ u64 bpf_cookie;
struct trace_event_call *tp_event;
struct event_filter *filter;
struct ftrace_ops ftrace_ops;
@@ -36449,7 +36451,10 @@ enum bpf_link_type {
BPF_LINK_TYPE_ITER = 4,
BPF_LINK_TYPE_NETNS = 5,
BPF_LINK_TYPE_XDP = 6,
- MAX_BPF_LINK_TYPE = 7,
+ BPF_LINK_TYPE_PERF_EVENT = 7,
+ BPF_LINK_TYPE_KPROBE_MULTI = 8,
+ BPF_LINK_TYPE_STRUCT_OPS = 9,
+ MAX_BPF_LINK_TYPE = 10,
};
struct bpf_link_info {
@@ -40756,6 +40761,11 @@ struct bpf_raw_tp_link {
struct bpf_raw_event_map *btp;
};
+struct bpf_perf_link {
+ struct bpf_link link;
+ struct file *perf_file;
+};
+
struct btf_member {
__u32 name_off;
__u32 type;

19
SOURCES/redhat-bugzilla-2117074-vendored_vmlinux.h.patch

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
commit 23bfdcbac0b0fb7bd33f092c6f2ad56889480335
Author: Andreas Gerstmayr <agerstmayr@redhat.com>
Date: Thu Oct 27 14:22:37 2022 +0200

build: use vendored vmlinux.h when compiling bpftool

diff --git a/vendor/GNUmakefile b/vendor/GNUmakefile
index a0c29d4b45..57151e4671 100644
--- a/vendor/GNUmakefile
+++ b/vendor/GNUmakefile
@@ -3,7 +3,7 @@ include $(TOPDIR)/src/include/builddefs
default_pcp default:
ifeq "$(PMDA_BPF)" "true"
- $(MAKE) -C github.com/libbpf/bpftool/src
+ $(MAKE) -C github.com/libbpf/bpftool/src VMLINUX_H=$(PMDABPF_VMLINUXH)
endif
install_pcp install:

749
SOURCES/redhat-bugzilla-2219731-hacluster-metrics.patch

@ -0,0 +1,749 @@ @@ -0,0 +1,749 @@
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 -Naurp pcp-5.3.7.orig/qa/hacluster/hacluster-root-002.tgz pcp-5.3.7/qa/hacluster/hacluster-root-002.tgz
--- pcp-5.3.7.orig/qa/hacluster/hacluster-root-002.tgz 1970-01-01 10:00:00.000000000 +1000
+++ pcp-5.3.7/qa/hacluster/hacluster-root-002.tgz 2023-07-10 16:53:58.649743937 +1000
@@ -0,0 +1,15 @@
+í[[sÛ6Îkô+°ôC“©© -Ùµ*팻[o›¤<EFBFBD>½íôI Äš$X´¢™þøý@R”,ÇM×IÓ-Ïdl Î çN¥ß÷zO>0ôýœŒúÍß< ‡ÃQà <ìôO¼“'lô¡#(”æ9cO2qËSuÿ¾‡žÿE¡<EFBFBD>û_r?†<EFBFBD>,á=îÿ¨oîß;ñíý ؾ?šó ‰Ò®Z>*<EFBFBD>wÞÿp8Ôþ?êáþG}ïø ë?"÷ÂßüþþÑ+TÞ›GiO¤·lÎÕ²Óñ¹f“ÉÅë¯;Xóód
+®‹\Ì”ÐSç¨;8îz»åqp-ÜU¤—S'ã¾Hø<EFBFBD>ÈÝ£î©ÃD&}¬ž8,-’Y‘ÑN5uú366+Ÿã3ˆ¸1WÚ]å‘Ö"<EFBFBD>:×Ë‚ý»H™ç±A<Œ<EFBFBD>†Ìë{G³x\™G‹ó¥ˆOÝTbP?óãH¤`³²æúA¡DŽ#Rj‡-ù­p-d^$Sgß-Š(˜:žóÏc_¦a´(r®#™Ò
+­AvÝ.Ð’õœY–ËLäzM
+b„†dšƒ’Ò9Ï\™åTçp2½Íx”ß¿×5®¸ö—<EFBFBD>\@‰<Sgg7P`5ä±Nï}°CÞ[‘+ü]¡n®”x½î ;rO»ÐñÌsùQ8žœÃÓáûÑ*•äFi˜ãšóÂ'[ªèÞ÷´äÁ—¹TëÔÿc$‰Ä.!»V¢‡Mêj÷û‘PZ¦°{W¤| ¢rgù<EFBFBD>ßQ*K u3Gþº"qw½¤-R™7ˆLzûì³´æÞ®9OÈ<EFBFBD>T}–>æȳ,ᦷõînôölôª<EFBFBD>“^ý$J¹/TõŒ<EFBFBD>ðQªë¥\ù³@„¼ˆõ†«Dh>ãZçѼÀݺó"Š·BéVgîñ¶<EFBFBD>ÝJGþM”
+¥*õî}Tj¸)wo‡—JÎ]¾¡éÝ`2AÖÑ…jè}F+ïR#CÈô}+xÌ—‡­2<EFBFBD>ÁŸù±çÅ¢Œ<EFBFBD>´gPjª"mÜúI<EFBFBD>‘ÌaìL¼Í„¯EP¯Ô’Ù3¢»šöš:<EFBFBD>pc<õÅî&+›ÛÜ»}Õ·[¦VYiÿ`k­T{™qšÞÓÛC~s5û$¨ŸÆyrW,Îv­’0a½iÀV«û/n¿£|7x<EFBFBD><tqƒ?ûâÿÓÅMz•÷M¨âýg‡*<EFBFBD>û“`§þ/s­ë‡ -eü8}ÀCýŸwìmêÿ£cÔÿÇ£ã~[ÿ x þÿNú<f&Á_ž³Á!3î™É\³›TèÎw—¯¾¥'}VYç)‚üé” NQ8Ñxø=ü¢óÔúÛ¸óô)¡Š‚ñ&¼ ÆOc"²”Jï{î<EFBFBD>Ÿ"{¦&Þý<EFBFBD>õÁ=þoËËG
+øÿf²ñÿõÿ'GÃaëÿðÿŒ ‚ ež˜êµãÞ<EFBFBD>Î9kÃeÛý»ç<EFBFBD>_˜þ½Bˆvä6
+DŽS•ÍÍn¥Öî:¯¨SØÂè™5„šfè載ÒÅÎZ÷ÔÐØæèg¡:<EFBFBD>Ècdº(k,Fl^¼Î7Ñb‰v±®¿ÆX»–²ÞdöY!›üë|óÅŽPF¦’]ö<EFBFBD>ô×2?‹cÖé¼4…<EFBFBD>ZFÙïa–<EFBFBD>½2‘Ó"&QýñC n#_°W¨Ð:Mnîþùê kT­ì™‰ÊÏ7‡¼ym|þËÁNüG)<EFBFBD>ÈGÿ>ÿ½Ñqcþ{Lõßмÿiãÿ‡‡ç¿Ö"X9Ü ÚQi=÷ ˜Z«Y˜Ë¤1 f:/4ÅEš"`;Œf½å@˜ºpä·ì–¹b4öNÙçýÁ¸ß·mãDIÂóuÙÌÃô:Û3œøEžSïøH1B™1°m»÷ °5Ódû†.vCîY5-¶“è­f5Ú­ñÞ¤!!ÓaÝɈ£ñQßN´·ŽøKž.öÙ‚7Ùw§Ýûfã½ÆÄBͪyÒ[ZP¢!!ë±[ÕKïÛÖwX)3Ù4æH7öïúÊ‘c9Åd;ÑJU°•$hñýjüZivw¼YÏ5YBóAàI}á&<EFBFBD>dƒKËÌåq\<EFBFBD>õTó‘!O:•…v<:¦¸ãÀD"èJ¯ÝP¤>,Ó DÌ×fGe{½†ñ5ç£vè¹oØcç@v¾SIDóŽ`¾nðd>Ï _ÅõrC¼z-iÖêÏEêÇ‚×Ç–‚Çôòe‘ <EFBFBD>»ßûžF- ÈÕæPUÀÀD+#§©7ll tZsÙÖéÊ™Sï]ŠØxÎ_UöÃïÕCc¸m‡‚Ëv—¯{fÆdcè'9gÚÎÿj|ýþ1º{òÿhˆÚ Êÿ'Ç'ÈÿhÿmþÿppÀ®aÍcxbóîàó¹}u1fŽÓ9è°«¯Îgç?^¾¸`
z ½Ìöø[RBbèRàO&ƒQ[[b‰PŠ/Ð|0ø9mL(˼Ë.ÃÛš6'ïÀÉSÄ Á2®—‡§ó¥Ã8W"ãè’p’xÚ°4<EFBFBD>ZˆµP©Ü’aMÄqþ§¥Ë9±`ó<EFBFBD> .RÅ›…}?CˆÀ÷g/.^ž}{ñfJH6Db¸ö3¯øZšô|‹¢}b5g4¤ÈÌ4£¤eítٕК¤×ˆÄ™cÐQµ<EFBFBD><EFBFBD>sMz‹c¹2ÊÄ‹$
+Y¤ÙŠ+dJMuÎm$ ¯¥1aðZñÜ+f“0ðD©YJ â WR yu}öæúåëó‹iÉ÷Ž2YϪFä[B’–·µjR'ã!ˆe³²<EFBFBD>ôfÓHí$j±B›‹H,P\
+l°k’>Áá9òˆðÉdò5 ¹Fèeeh23H…xlp)ÉB”Kd1ôC‹4ŒØ]<'}“1RJoÄP?¦r…Rd!”N,[r%jNð<EFBFBD>ÌÐ÷9vèí#¥
+a*@våºÀRÂý%½4Æh<EFBFBD>ù8„œ"IŠ²Òas’ÉèAhÒ¯È/Õe^’‚;cáV#ìJ¢,B±>X,QæånãÖñÌ5ä%©<EFBFBD>KWäI;/E‡8À¸‚’°¤?èÍh#Œe<EFBFBD>kÅCs•ÀC8+ÚDuŒµªÖÆŽ‘²²œbŸD"U…j¬e~r33\Ïþ %£F__á
+VÜ:¼¶ÎAj¡1
+éƒQý”Às`ƒHÂÜ‰ï ”cµþ¢äßb<EFBFBD>­ "_,µùb‡QvÀ3½q½"«*@Ü?d¡ZÂ8 ­¡Sè1ý V„¸%*¬»ìÙµ=wEh®„oýw «L‚ç°žV²­XÖp‹œ,8“ð¤Cøƒß <*ˆM„ÔÖŒõæˆ "¯\ôü⻳Ÿ­£Náw<EFBFBD>w…ìbr¯úzˆuÑòC­Ë`m㯵Js&-âøîÃV;û) D± â駳ëßœ¿þEáé6Ñ ûÇÈ0õ B™~eø‡æjò«Ê}A:¤ì<EFBFBD>ñÔ¼<EFBFBD>_”o¿uR·@9ƒ^ÕÇôS7œ2T5"ºH¥q=&¦Pi†hî%õ×_–‘ñÓ 0V™ hDã…O‘)„šÖˆB<0ÁøVd 7 §CUi°îJÝ)‡¦Å–µË2´Qt´”ž©çTjÂœ‰Gª±Ž( ÒaŽ®^\]r„r)‹8 ƈ‘Çù_‹¨ôæ@h”µ@dpPi<EFBFBD>R¸»ÇùjuW¾a¾¾d#†L]´z7Œ¾å€F–3 ƒ%âÈ8H3•<[æp}ùòâõ®§£w›©"ª/m4·UÆ™o»E‹Ä[á4}EÀJ7†<EFBFBD>f›”ø57aÞEá<EFBFBD>qôy@WÆMÂÈrI7Fº#û<EFBFBD>á£"µ‰AÛÇ€Y½®µùÊÕ•’\nx%ª¾Dwè–Å ØÅçy”š2<EFBFBD>Q3?Y†ŸeûÍϹZE’ý&ðkÍⲶ’Û92%£Et[ªÀ¦8D³µb%ÓeÔjš¼&‚ñ04&Pª5ŽnkxÈjº‡U6E„6;Ò&â² n#^pLÅR›d}†2>ITP˜±•ˆcS…Ô£ÃV© Þpg²× úÊ€<EFBFBD>
+<EFBFBD>1Æži››¨ªa ‘Ši’BH"X>¯L­´°ÙÙ‹ëËׯ¦MCzÀæJ; ó<EFBFBD>
+d›j@aây£d))½þþújÚi”šŸZïö°Ýÿù<0çQ'À~ÿ½aýýï>õ#oäµýßǀ濟âÈ¢…G„;óŸG~÷ci¼‡ÿ›ÿÿ1l¿ÿÿ‘ õÿZh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…ÿ/ø/ƒ¸VHP
\ 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);

4148
SPECS/pcp.spec

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save