diff options
author | Adam Stokes <adam.stokes@ubuntu.com> | 2014-08-22 10:46:26 -0400 |
---|---|---|
committer | Adam Stokes <adam.stokes@ubuntu.com> | 2014-08-22 10:46:26 -0400 |
commit | 26b48eaff4e6366942c87c5a8a15ce16f911a5dc (patch) | |
tree | 7931f6d70c285662333db19b1df4a42df685a816 | |
parent | 9eb40fe293d3e87a90da8bd41f5fc9236aba2591 (diff) | |
download | sos-26b48eaff4e6366942c87c5a8a15ce16f911a5dc.tar.gz |
[openvswitch] Add new plugin
This splits out the ovs collection data from the Neutron plugin.
Fixes #328
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
-rw-r--r-- | sos/plugins/openstack_neutron.py | 20 | ||||
-rw-r--r-- | sos/plugins/openvswitch.py | 47 |
2 files changed, 47 insertions, 20 deletions
diff --git a/sos/plugins/openstack_neutron.py b/sos/plugins/openstack_neutron.py index 606503eb..a12895e2 100644 --- a/sos/plugins/openstack_neutron.py +++ b/sos/plugins/openstack_neutron.py @@ -51,26 +51,6 @@ class Neutron(Plugin): ]) self.netns_dumps() - self.get_ovs_dumps() - - def get_ovs_dumps(self): - # Check to see if we are using the Open vSwitch plugin. If not we - # should be able to skip the rest of the dump. - ovs_conf_check = self.call_ext_prog( - 'grep "^core_plugin.*openvswitch" ' + - ("/etc/%s/*.conf" + self.component_name)) - if not (ovs_conf_check['status'] == 0): - return - if len(ovs_conf_check['output'].splitlines()) == 0: - return - - # The '-s' option enables dumping of packet counters on the - # ports. - self.add_cmd_output("ovs-dpctl -s show") - - # The '-t 5' adds an upper bound on how long to wait to connect - # to the Open vSwitch server, avoiding hangs when running sosreport. - self.add_cmd_output("ovs-vsctl -t 5 show") def netns_dumps(self): # It would've been beautiful if we could get parts of the networking diff --git a/sos/plugins/openvswitch.py b/sos/plugins/openvswitch.py new file mode 100644 index 00000000..cfb39bc0 --- /dev/null +++ b/sos/plugins/openvswitch.py @@ -0,0 +1,47 @@ +# Copyright (C) 2014 Adam Stokes <adam.stokes@ubuntu.com> + +# 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 OpenVSwitch(Plugin): + """ OpenVSwitch related information + """ + plugin_name = "openvswitch" + + def setup(self): + # The '-s' option enables dumping of packet counters on the + # ports. + self.add_cmd_output("ovs-dpctl -s show") + + # The '-t 5' adds an upper bound on how long to wait to connect + # to the Open vSwitch server, avoiding hangs when running sosreport. + self.add_cmd_output("ovs-vsctl -t 5 show") + + +class RedHatOpenVSwitch(OpenVSwitch, RedHatPlugin): + """ OpenVSwitch on Ubuntu/Debian related information + """ + packages = ('openvswitch',) + + +class DebianOpenVSwitch(OpenVSwitch, DebianPlugin, UbuntuPlugin): + """ OpenVSwitch on Ubuntu/Debian related information + """ + packages = ('openvswitch-switch',) + + +# vim: et ts=4 sw=4 |