/*
 * Copyright (c) 2020 - 2021 Red Hat.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * for more details.
 */

ha_cluster {
	pacemaker
	corosync
	sbd
	drbd
}

ha_cluster.pacemaker {
	config_last_change			HACLUSTER:0:0
	fail_count				HACLUSTER:1:0
	location_constraints
	migration_threshold			HACLUSTER:1:1
	nodes
	node_attributes				HACLUSTER:4:0
	node_attributes_all			HACLUSTER:13:0
	resources
	stonith_enabled				HACLUSTER:0:1
}

ha_cluster.pacemaker.location_constraints {
	node					HACLUSTER:2:0
	resource				HACLUSTER:2:1
	role					HACLUSTER:2:2
	score					HACLUSTER:2:3
	all					HACLUSTER:12:0
}

ha_cluster.pacemaker.nodes {
	status
	type					HACLUSTER:3:9
}

ha_cluster.pacemaker.nodes.status {
	online					HACLUSTER:3:0
	standby					HACLUSTER:3:1
	standby_on_fail				HACLUSTER:3:2
	maintenance				HACLUSTER:3:3
	pending					HACLUSTER:3:4
	unclean					HACLUSTER:3:5
	shutdown				HACLUSTER:3:6
	expected_up				HACLUSTER:3:7
	dc					HACLUSTER:3:8
	health					HACLUSTER:3:10
	feature_set				HACLUSTER:3:11
}

ha_cluster.pacemaker.resources {
	agent					HACLUSTER:5:0
	clone					HACLUSTER:5:1
	group					HACLUSTER:5:2
	managed					HACLUSTER:5:3
	role					HACLUSTER:5:4
	status
	all					HACLUSTER:14:0
}

ha_cluster.pacemaker.resources.status {
	active					HACLUSTER:5:5
	orphaned				HACLUSTER:5:6
	blocked					HACLUSTER:5:7
	failed					HACLUSTER:5:8
	failure_ignored				HACLUSTER:5:9
}

ha_cluster.corosync {
	member_votes
	quorate					HACLUSTER:7:0
	quorum_votes
	ring_errors				HACLUSTER:7:5
	rings
}

ha_cluster.corosync.member_votes {
	votes					HACLUSTER:6:0
	local					HACLUSTER:6:1
	node_id					HACLUSTER:6:2
}

ha_cluster.corosync.quorum_votes {
	expected_votes				HACLUSTER:7:1
	highest_expected			HACLUSTER:7:2
	total_votes				HACLUSTER:7:3
	quorum					HACLUSTER:7:4
}

ha_cluster.corosync.rings {
	status					HACLUSTER:8:0
	address					HACLUSTER:8:1
	node_id					HACLUSTER:8:2
	number					HACLUSTER:8:3
	ring_id					HACLUSTER:8:4
	all					HACLUSTER:15:0
}

ha_cluster.sbd {
	devices
	timeouts
	all					HACLUSTER:16:0
}

ha_cluster.sbd.devices {
	path					HACLUSTER:9:0
	status					HACLUSTER:9:1
}

ha_cluster.sbd.timeouts {
	mgswait					HACLUSTER:9:2
	allocate				HACLUSTER:9:3
	loop					HACLUSTER:9:4
	watchdog				HACLUSTER:9:5
}

ha_cluster.drbd {
	resources
	written					HACLUSTER:10:4
	read					HACLUSTER:10:5
	al_writes				HACLUSTER:10:6
	bm_writes				HACLUSTER:10:7
	upper_pending				HACLUSTER:10:8
	lower_pending				HACLUSTER:10:9
	quorum					HACLUSTER:10:10
	connections
	connections_sync			HACLUSTER:11:5
	connections_received			HACLUSTER:11:6
	connections_sent			HACLUSTER:11:7
	connections_pending			HACLUSTER:11:8
	connections_unacked			HACLUSTER:11:9
	split_brain				HACLUSTER:10:11
}

ha_cluster.drbd.resources {
	resource				HACLUSTER:10:0
	role					HACLUSTER:10:1
	volume					HACLUSTER:10:2
	disk_state				HACLUSTER:10:3
	all					HACLUSTER:17:0
}

ha_cluster.drbd.connections {
	resource				HACLUSTER:11:0
	peer_node_id				HACLUSTER:11:1
	peer_role				HACLUSTER:11:2
	volume					HACLUSTER:11:3
	peer_disk_state				HACLUSTER:11:4
	all					HACLUSTER:18:0
}
