Group :: System/Configuration/Other
RPM: sos
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: sos-temp-backport.diff
Download
Download
diff -bur sos-1.7/lib/sos/plugins/devicemapper.py /home/shnavid/projects/sos/lib/sos/plugins/devicemapper.py
--- sos-1.7/lib/sos/plugins/devicemapper.py 2007-08-14 18:01:29.000000000 +0100
+++ /home/shnavid/projects/sos/lib/sos/plugins/devicemapper.py 2007-09-04 14:02:03.000000000 +0100
@@ -13,19 +13,27 @@
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
import sos.plugintools
+import os
+from sos.helpers import sosGetCommandOutput
class devicemapper(sos.plugintools.PluginBase):
"""device-mapper related information (dm, lvm, multipath)
"""
+
+ optionList = [("lvmdump", 'collect raw metadata from PVs', 'slow', False)]
+
+ def do_lvmdump(self):
+ """Collects raw metadata directly from the PVs using dd
+ """
+ sosGetCommandOutput("lvmdump -d %s" % os.path.join(self.cInfo['dstroot'],"lvmdump"))
+
def setup(self):
self.collectExtOutput("/sbin/dmsetup info -c")
self.collectExtOutput("/sbin/dmsetup table")
self.collectExtOutput("/sbin/dmsetup status")
- self.collectExtOutput("/usr/bin/systool -v -C -b scsi")
-
- self.collectExtOutput("/usr/sbin/vgscan -vvv")
self.collectExtOutput("/usr/sbin/vgdisplay -vv", root_symlink = "vgdisplay")
+ self.collectExtOutput("/usr/sbin/vgscan -vvv")
self.collectExtOutput("/usr/sbin/pvscan -v")
self.collectExtOutput("/usr/sbin/lvs -a -o +devices")
self.collectExtOutput("/usr/sbin/pvs -a -v")
@@ -37,4 +45,17 @@
self.addCopySpec("/var/lib/multipath/bindings")
self.collectExtOutput("/sbin/multipath -v4 -ll")
+ self.collectExtOutput("/usr/bin/systool -v -C -b scsi")
+
+ self.collectExtOutput("/bin/ls -laR /dev")
+ self.collectExtOutput("/bin/ls -laR /sys/block")
+
+ if self.getOption('lvmdump'):
+ self.do_lvmdump()
+
+ for disk in os.listdir("/sys/block"):
+ if disk in [ ".", ".." ] or disk.startswith("ram"):
+ continue
+ self.collectExtOutput("/usr/bin/udevinfo -ap /sys/block/%s" % (disk))
+
return
diff -bur sos-1.7/lib/sos/plugins/libraries.py /home/shnavid/projects/sos/lib/sos/plugins/libraries.py
--- sos-1.7/lib/sos/plugins/libraries.py 2007-08-14 18:01:29.000000000 +0100
+++ /home/shnavid/projects/sos/lib/sos/plugins/libraries.py 2007-08-17 14:58:45.000000000 +0100
@@ -20,5 +20,7 @@
def setup(self):
self.addCopySpec("/etc/ld.so.conf")
self.addCopySpec("/etc/ld.so.conf.d")
+ self.collectExtOutput("/sbin/ldconfig -v")
+ self.collectExtOutput("/sbin/ldconfig -p")
return
diff -bur sos-1.7/lib/sos/plugins/process.py /home/shnavid/projects/sos/lib/sos/plugins/process.py
--- sos-1.7/lib/sos/plugins/process.py 2007-08-14 18:01:29.000000000 +0100
+++ /home/shnavid/projects/sos/lib/sos/plugins/process.py 2007-08-17 14:58:44.000000000 +0100
@@ -50,12 +51,9 @@
# this should never happen...
pass
else:
+ # still D after 0.1 * range(1,5) seconds
dpids.append(int(line[1]))
- # FIXME: for each hung PID, list file-systems from /proc/$PID/fd
-# for pid in dpids:
-# realpath
-
if len(dpids):
self.addDiagnose("one or more processes are in state D (sosreport might hang)")
diff -bur sos-1.7/lib/sos/plugintools.py /home/shnavid/projects/sos/lib/sos/plugintools.py
--- sos-1.7/lib/sos/plugintools.py 2007-08-16 14:26:34.000000000 +0100
+++ /home/shnavid/projects/sos/lib/sos/plugintools.py 2007-09-04 14:02:03.000000000 +0100
@@ -592,8 +588,11 @@
html = html + "<p>Commands Executed:<br><ul>\n"
# convert file name to relative path from our root
for cmd in self.executedCommands:
+ if cmd["file"] and len(cmd["file"]):
cmdOutRelPath = sosRelPath(self.cInfo['rptdir'], self.cInfo['cmddir'] + "/" + cmd['file'])
html = html + '<li><a href="%s">%s</a></li>\n' % (cmdOutRelPath, cmd['exe'])
+ else:
+ html = html + '<li>%s</li>\n' % (cmd['exe'])
html = html + "</ul></p>\n"
# Alerts
diff -bur sos-1.7/Makefile /home/shnavid/projects/sos/Makefile
--- sos-1.7/Makefile 2007-08-14 18:01:30.000000000 +0100
+++ /home/shnavid/projects/sos/Makefile 2007-09-04 14:02:03.000000000 +0100
@@ -4,12 +4,12 @@
NAME = sos
VERSION = $(shell awk '/^%define version / { print $$3 }' sos.spec)
-REPO = https://sos.108.redhat.com/svn/sos
-SVNTAG = r$(subst .,-,$(VERSION))
+RELEASE = $(shell awk '/^%define release / { print $$3 }' sos.spec)
+REPO = svn+ssh://svn.fedoraproject.org/svn/hosted/sos
+SVNTAG = r$(subst .,-,$(VERSION))_$(RELEASE)
SRCDIR = $(PWD)
TOPDIR = $(PWD)/build/rpm-$(NAME)-$(VERSION)
-
all:
.PHONY: tag-release tarball release install version clean
diff -bur sos-1.7/README /home/shnavid/projects/sos/README
--- sos-1.7/README 2007-08-14 18:03:04.000000000 +0100
+++ /home/shnavid/projects/sos/README 2007-08-30 09:52:16.000000000 +0100
@@ -9,10 +9,9 @@
To access to the public source code repository for this project run:
- svn checkout https://sos.108.redhat.com/svn/sos/trunk sos
+ svn export http://svn.fedoraproject.org/svn/hosted/sos/trunk sos --username guest
-(all the following as root)
-to install locally ==> make install
+to install locally (as root) ==> make install
to build an rpm ==> make rpm
See the Makefile.