From 7b5219aab42555b01c06a8978812103f4e1a582b Mon Sep 17 00:00:00 2001 From: "Bryn M. Reeves" Date: Mon, 12 Aug 2013 14:56:19 +0100 Subject: [PATCH 1/2] Fix whitespace insanity in cluster.py Mixed two and four character indents in one file are NOT COOL. Signed-off-by: Bryn M. Reeves --- sos/plugins/cluster.py | 66 +++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/sos/plugins/cluster.py b/sos/plugins/cluster.py index fcb2a41..a78b7cc 100644 --- a/sos/plugins/cluster.py +++ b/sos/plugins/cluster.py @@ -55,10 +55,10 @@ class cluster(sos.plugintools.PluginBase): self.addCopySpec("/var/log/luci/luci.log") if self.getOption('gfslockdump'): - self.do_gfslockdump() + self.do_gfslockdump() if self.getOption('lockdump'): - self.do_lockdump() + self.do_lockdump() self.collectExtOutput("/usr/sbin/rg_test test /etc/cluster/cluster.conf") self.collectExtOutput("fence_tool ls -n") @@ -75,55 +75,55 @@ class cluster(sos.plugintools.PluginBase): self.collectExtOutput("/sbin/ipvsadm -L") if rhelver is 4: - self.addCopySpec("/proc/cluster/*") - self.collectExtOutput("cman_tool nodes") + self.addCopySpec("/proc/cluster/*") + self.collectExtOutput("cman_tool nodes") if rhelver is not 4: # 5+ - self.collectExtOutput("cman_tool -a nodes") + self.collectExtOutput("cman_tool -a nodes") if rhelver is 5: - self.collectExtOutput("group_tool -v") - self.collectExtOutput("group_tool dump fence") - self.collectExtOutput("group_tool dump gfs") + self.collectExtOutput("group_tool -v") + self.collectExtOutput("group_tool dump fence") + self.collectExtOutput("group_tool dump gfs") if rhelver not in (4,5): # 6+ - self.collectExtOutput("corosync-quorumtool -l") - self.collectExtOutput("corosync-quorumtool -s") - self.collectExtOutput("corosync-cpgtool") - self.collectExtOutput("corosync-objctl") - self.collectExtOutput("group_tool ls -g1") - self.collectExtOutput("gfs_control ls -n") - self.collectExtOutput("gfs_control dump") - self.collectExtOutput("fence_tool dump") - self.collectExtOutput("dlm_tool dump") - self.collectExtOutput("dlm_tool ls -n") + self.collectExtOutput("corosync-quorumtool -l") + self.collectExtOutput("corosync-quorumtool -s") + self.collectExtOutput("corosync-cpgtool") + self.collectExtOutput("corosync-objctl") + self.collectExtOutput("group_tool ls -g1") + self.collectExtOutput("gfs_control ls -n") + self.collectExtOutput("gfs_control dump") + self.collectExtOutput("fence_tool dump") + self.collectExtOutput("dlm_tool dump") + self.collectExtOutput("dlm_tool ls -n") def do_lockdump(self): rhelver = self.policy().rhelVersion() if rhelver is 4: - status, output, time = self.callExtProg("cman_tool services") - for lockspace in re.compile(r'^DLM Lock Space:\s*"([^"]*)".*$', re.MULTILINE).findall(output): - self.callExtProg("echo %s > /proc/cluster/dlm_locks" % lockspace) - self.collectOutputNow("cat /proc/cluster/dlm_locks", - suggest_filename = "dlm_locks_%s" % lockspace) + status, output, time = self.callExtProg("cman_tool services") + for lockspace in re.compile(r'^DLM Lock Space:\s*"([^"]*)".*$', re.MULTILINE).findall(output): + self.callExtProg("echo %s > /proc/cluster/dlm_locks" % lockspace) + self.collectOutputNow("cat /proc/cluster/dlm_locks", + suggest_filename = "dlm_locks_%s" % lockspace) if rhelver is 5: - status, output, time = self.callExtProg("group_tool") - for lockspace in re.compile(r'^dlm\s+[^\s]+\s+([^\s]+)$', re.MULTILINE).findall(output): - self.collectExtOutput("dlm_tool lockdebug '%s'" % lockspace, - suggest_filename = "dlm_locks_%s" % lockspace) + status, output, time = self.callExtProg("group_tool") + for lockspace in re.compile(r'^dlm\s+[^\s]+\s+([^\s]+)$', re.MULTILINE).findall(output): + self.collectExtOutput("dlm_tool lockdebug '%s'" % lockspace, + suggest_filename = "dlm_locks_%s" % lockspace) else: # RHEL6 or recent Fedora - status, output, time = self.callExtProg("dlm_tool ls") - for lockspace in re.compile(r'^name\s+([^\s]+)$', re.MULTILINE).findall(output): - self.collectExtOutput("dlm_tool lockdebug -svw '%s'" % lockspace, - suggest_filename = "dlm_locks_%s" % lockspace) + status, output, time = self.callExtProg("dlm_tool ls") + for lockspace in re.compile(r'^name\s+([^\s]+)$', re.MULTILINE).findall(output): + self.collectExtOutput("dlm_tool lockdebug -svw '%s'" % lockspace, + suggest_filename = "dlm_locks_%s" % lockspace) def do_gfslockdump(self): for mntpoint in self.doRegexFindAll(r'^\S+\s+([^\s]+)\s+gfs\s+.*$', "/proc/mounts"): - self.collectExtOutput("/sbin/gfs_tool lockdump %s" % mntpoint, - suggest_filename = "gfs_lockdump_" + self.mangleCommand(mntpoint)) + self.collectExtOutput("/sbin/gfs_tool lockdump %s" % mntpoint, + suggest_filename = "gfs_lockdump_" + self.mangleCommand(mntpoint)) def postproc(self): for cluster_conf in glob("/etc/cluster/cluster.conf*"): -- 1.7.11.7 From df44e86c3d8bcfb5364d99cd1057b52e15516f8d Mon Sep 17 00:00:00 2001 From: "Bryn M. Reeves" Date: Mon, 12 Aug 2013 15:02:42 +0100 Subject: [PATCH 2/2] Collect crm_report data in cluster plug-in Resolves: bz989292 Signed-off-by: Bryn M. Reeves --- sos/plugins/cluster.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sos/plugins/cluster.py b/sos/plugins/cluster.py index a78b7cc..ee6f51c 100644 --- a/sos/plugins/cluster.py +++ b/sos/plugins/cluster.py @@ -97,6 +97,8 @@ class cluster(sos.plugintools.PluginBase): self.collectExtOutput("fence_tool dump") self.collectExtOutput("dlm_tool dump") self.collectExtOutput("dlm_tool ls -n") + crm_dest = os.path.join(self.cInfo['cmddir'], 'cluster', 'crm_report') + self.collectExtOutput("crm_report -S --dest %s" % crm_dest) def do_lockdump(self): rhelver = self.policy().rhelVersion() -- 1.7.11.7