diff options
author | Louis Bouchard <louis.bouchard@canonical.com> | 2013-04-04 16:24:57 +0200 |
---|---|---|
committer | Louis Bouchard <louis.bouchard@canonical.com> | 2013-04-05 12:30:07 +0200 |
commit | 04c6be946b441ad4248e91fa72dd46535c592398 (patch) | |
tree | 792168382b5b4ab54be9b1428f003b7ef0dbff48 | |
parent | cda06da43145bbdcb3e5603c230fb67867044a9c (diff) | |
download | sos-04c6be946b441ad4248e91fa72dd46535c592398.tar.gz |
Enabled new Debian plugins & adapted to new format
-rw-r--r-- | sos/plugins/networking.py | 48 |
1 files changed, 43 insertions, 5 deletions
diff --git a/sos/plugins/networking.py b/sos/plugins/networking.py index b6b104f1..52f3b651 100644 --- a/sos/plugins/networking.py +++ b/sos/plugins/networking.py @@ -12,14 +12,16 @@ ## 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 +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin import os import re -class networking(Plugin, RedHatPlugin): +class Networking(Plugin): """network related information """ - option_list = [("traceroute", "collects a traceroute to rhn.redhat.com", "slow", False)] + plugin_name = "networking" + + def setup(self): def get_bridge_name(self,brctl_out): """Return a list for which items are bridge name according to the @@ -96,8 +98,7 @@ class networking(Plugin, RedHatPlugin): self.add_cmd_output("/sbin/ethtool -a "+eth) self.add_cmd_output("/sbin/ethtool -c "+eth) self.add_cmd_output("/sbin/ethtool -g "+eth) - if self.get_option("traceroute"): - self.add_cmd_output("/bin/traceroute -n rhn.redhat.com") + self.addCmdOutput("/sbin/ethtool -g "+eth) if os.path.exists("/usr/sbin/brctl"): brctl_file=self.add_cmd_output("/usr/sbin/brctl show") @@ -107,3 +108,40 @@ class networking(Plugin, RedHatPlugin): self.add_cmd_output("/usr/sbin/brctl showstp "+br_name) return +class RedHatNetworking(Networking, RedHatPlugin): + """network related information for RedHat based distribution + """ + option_list = [("traceroute", "collects a traceroute to rhn.redhat.com", "slow", False)] + + def setup(self): + super(RedHatNetworking, self).setup() + + if self.get_option("traceroute"): + self.add_cmd_output("/bin/traceroute -n rhn.redhat.com") + +class UbuntuNetworking(Networking, UbuntuPlugin): + """network related information for Ubuntu based distribution + """ + option_list = [("traceroute", "collects a traceroute to archive.ubuntu.com", "slow", False)] + + def setup(self): + super(UbuntuNetworking, self).setup() + + self.add_copy_specs([ + "/etc/network*", + "/etc/NetworkManager/NetworkManager.conf", + "/etc/NetworkManager/system-connections", + "/etc/resolvconf", + "/etc/dnsmasq*", + "/etc/ufw", + "/var/log/ufw.Log", + "/etc/resolv.conf"]) + self.add_cmd_output("/usr/sbin/ufw status") + self.add_cmd_output("/usr/sbin/ufw app list") + if self.get_option("traceroute"): + self.add_cmd_output("/usr/sbin/traceroute -n archive.ubuntu.com") + + def postproc(self): + for root, dirs, files in os.walk("/etc/NetworkManager/system-connections"): + for net_conf in files: + self.do_file_sub("/etc/NetworkManager/system-connections/"+net_conf, r"psk=(.*)",r"psk=***") |