From a85f58cb566883532ba0df93ecf0dba5bc190fc3 Mon Sep 17 00:00:00 2001 From: Felipe Reyes Date: Tue, 18 Nov 2014 14:32:20 -0300 Subject: [PATCH 20/93] [corosync/pacemaker] Collect corosync-cfgtool -s output / add Pacemaker support This patch improves HA clustering information gathering adding a new a new plugin for Pacemaker. Signed-off-by: Felipe Reyes Signed-off-by: Adam Stokes --- sos/plugins/corosync.py | 1 + sos/plugins/pacemaker.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 sos/plugins/pacemaker.py diff --git a/sos/plugins/corosync.py b/sos/plugins/corosync.py index db9b547..27642a0 100644 --- a/sos/plugins/corosync.py +++ b/sos/plugins/corosync.py @@ -34,6 +34,7 @@ class Corosync(Plugin): "corosync-quorumtool -s", "corosync-cpgtool", "corosync-objctl -a", + "corosync-cfgtool -s", "corosync-fplay", "corosync-objctl -w runtime.blackbox.dump_state=$(date +\%s)", "corosync-objctl -w runtime.blackbox.dump_flight_data=$(date +\%s)" diff --git a/sos/plugins/pacemaker.py b/sos/plugins/pacemaker.py new file mode 100644 index 0000000..802b40f --- /dev/null +++ b/sos/plugins/pacemaker.py @@ -0,0 +1,32 @@ +# 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. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin + + +class Pacemaker(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): + "HA Cluster resource manager" + + plugin_name = "pacemaker" + profiles = ("cluster", ) + packages = ("pacemaker", ) + + def setup(self): + self.add_copy_spec([ + "/var/lib/pacemaker/cib/cib.xml" + ]) + self.add_cmd_output([ + "crm status", + "crm configure show", + ]) -- 1.9.3