diff options
author | Bryn M. Reeves <bmr@redhat.com> | 2013-04-30 15:52:41 +0100 |
---|---|---|
committer | Bryn M. Reeves <bmr@redhat.com> | 2013-04-30 15:52:41 +0100 |
commit | 04b06c04713182bc112f3a44c904af198bc5fb56 (patch) | |
tree | 0217c8afa2bfe759eddd75cae13b6cea96f42142 | |
parent | 5df81ba19765fa59999300bb4e405a7714ec0ec2 (diff) | |
download | sos-04b06c04713182bc112f3a44c904af198bc5fb56.tar.gz |
Add new ATA/IDE plug-in
Separate the ATA and IDE code from the hardware god-object and
put them in a separate plug-in that is activated by the presence
of hdparm or smartmontools.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
-rw-r--r-- | sos/plugins/ata.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/sos/plugins/ata.py b/sos/plugins/ata.py new file mode 100644 index 00000000..eb0f53f8 --- /dev/null +++ b/sos/plugins/ata.py @@ -0,0 +1,36 @@ +### 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, UbuntuPlugin, DebianPlugin +import os + +class Ata(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): + """ ATA and IDE related information (including PATA and SATA) + """ + + plugin_name = "ata" + + packages = ('hdparm', 'smartmontools') + + def setup(self): + dev_path = '/dev' + sys_block = '/sys/block' + self.add_copy_spec('/proc/ide') + if os.path.isdir(sys_block): + for disk in os.listdir(sys_block): + if disk.startswith("sd") or disk.startswith("hd"): + disk_path = os.path.join(dev_path, disk) + self.add_cmd_output("hdparm %s" % disk_path) + self.add_cmd_output("smartctl -a %s" % disk_path) + |