diff options
Diffstat (limited to 'sos/plugins/openstack_cinder.py')
-rw-r--r-- | sos/plugins/openstack_cinder.py | 57 |
1 files changed, 37 insertions, 20 deletions
diff --git a/sos/plugins/openstack_cinder.py b/sos/plugins/openstack_cinder.py index b3951698..97eb8fba 100644 --- a/sos/plugins/openstack_cinder.py +++ b/sos/plugins/openstack_cinder.py @@ -1,6 +1,7 @@ ## Copyright (C) 2009 Red Hat, Inc., Joey Boggs <jboggs@redhat.com> ## Copyright (C) 2012 Rackspace US, Inc., Justin Shepherd <jshepher@rackspace.com> ## Copyright (C) 2013 Red Hat, Inc., Flavio Percoco <fpercoco@redhat.com> +## Copyright (C) 2013 Red Hat, Inc., Jeremy Agee <jagee@redhat.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 @@ -16,30 +17,36 @@ ## along with this program; if not, write to the Free Software ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -from sos import plugins +import os +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin -class OpenStackCinder(plugins.Plugin): - """OpenstackCinder related information.""" +class OpenStackCinder(Plugin): + """openstack cinder related information + """ plugin_name = "openstack-cinder" - option_list = [("log", "gathers openstack-cinder logs", "slow", False)] + option_list = [("log", "gathers openstack cinder logs", "slow", True), + ("db", "gathers openstack cinder db version", "slow", False)] def setup(self): - # Cinder - self.add_cmd_output( - "cinder-manage db version", - suggest_filename="cinder_db_version") - self.add_copy_specs(["/etc/cinder/", - "/var/log/cinder/"]) + if self.option_enabled("db"): + self.add_cmd_output( + "cinder-manage db version", + suggest_filename="cinder_db_version") + self.add_copy_specs(["/etc/cinder/"]) -class DebianOpenStackCinder(OpenStackCinder, - plugins.DebianPlugin, - plugins.UbuntuPlugin): - """OpenStackCinder related information for Debian based distributions.""" + if self.option_enabled("log"): + self.add_copy_specs(["/var/log/cinder/"]) + +class DebianOpenStackCinder(OpenStackCinder, DebianPlugin, UbuntuPlugin): + """OpenStack Cinder related information for Debian based distributions + """ + + cinder = False packages = ('cinder-api', 'cinder-backup', 'cinder-common', @@ -48,17 +55,27 @@ class DebianOpenStackCinder(OpenStackCinder, 'python-cinder', 'python-cinderclient') - def setup(self): - # Cinder - self.add_copy_spec("/etc/sudoers.d/cinder_sudoers") + def check_enabled(self): + self.cinder = self.is_installed("cinder-common") + return self.cinder + def setup(self): + super(DebianOpenStackCinder, self).setup() -class RedHatOpenStackCinder(OpenStackCinder, plugins.RedHatPlugin): - """OpenStackCinder related information for Red Hat distributions.""" +class RedHatOpenStackCinder(OpenStackCinder, RedHatPlugin): + """OpenStack related information for Red Hat distributions + """ + cinder = False packages = ('openstack-cinder', + 'python-cinder', 'python-cinderclient') + def check_enabled(self): + self.cinder = self.is_installed("openstack-cinder") + return self.cinder + def setup(self): - # Cinder + super(RedHatOpenStackCinder, self).setup() self.add_copy_specs(["/etc/sudoers.d/cinder"]) + |