From 2f2d528d2f3b14d30d6971c9e2883902c5dfeafb Mon Sep 17 00:00:00 2001 From: "Bryn M. Reeves" Date: Thu, 18 Sep 2014 21:29:54 +0100 Subject: [emc,symcli] move symcli collection into its own plugin. Related: #257. Signed-off-by: Bryn M. Reeves --- sos/plugins/emc.py | 72 -------------------------------------- sos/plugins/symcli.py | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+), 72 deletions(-) create mode 100644 sos/plugins/symcli.py diff --git a/sos/plugins/emc.py b/sos/plugins/emc.py index ef14738d..1c71b95f 100644 --- a/sos/plugins/emc.py +++ b/sos/plugins/emc.py @@ -81,67 +81,6 @@ class Emc(Plugin, RedHatPlugin): "powermt dump" ]) - def get_symcli_files(self): - """ EMC Solutions Enabler SYMCLI specific information - files - """ - self.add_copy_specs([ - "/var/symapi/db/symapi_db.bin", - "/var/symapi/config/[a-z]*", - "/var/symapi/log/[a-z]*" - ]) - - def get_symcli_config(self): - """ EMC Solutions Enabler SYMCLI specific information - - Symmetrix/DMX - commands - """ - self.add_cmd_outputs([ - "symclisymcli -def", - "symclisymdg list", - "symclisymdg -v list", - "symclisymcg list", - "symclisymcg -v list", - "symclisymcfg list", - "symclisymcfg -v list", - "symclisymcfg -db", - "symclisymcfg -semaphores list", - "symclisymcfg -dir all -v list", - "symclisymcfg -connections list", - "symclisymcfg -app -v list", - "symclisymcfg -fa all -port list", - "symclisymcfg -ra all -port list", - "symclisymcfg -sa all -port list", - "symclisymcfg list -lock", - "symclisymcfg list -lockn all", - "symclisyminq", - "symclisyminq -v", - "symclisyminq -symmids", - "symclisyminq hba -fibre", - "symclisyminq hba -scsi", - "symclisymhost show -config", - "symclistordaemon list", - "symclistordaemon -v list", - "symclisympd list", - "symclisympd list -vcm", - "symclisymdev list", - "symclisymdev -v list", - "symclisymdev -rdfa list", - "symclisymdev -rdfa -v list", - "symclisymbcv list", - "symclisymbcv -v list", - "symclisymrdf list", - "symclisymrdf -v list", - "symclisymrdf -rdfa list", - "symclisymrdf -rdfa -v list", - "symclisymsnap list", - "symclisymsnap list -savedevs", - "symclisymclone list", - "symclisymevent list", - "symclisymmask list hba", - "symclisymmask list logins", - "symclisymmaskdb list database", - "symclisymmaskdb -v list database" - ]) - def get_navicli_config(self): """ EMC Navisphere Host Agent NAVICLI specific information - files """ @@ -199,17 +138,6 @@ class Emc(Plugin, RedHatPlugin): print(" Gathering additional EMC PowerPath information...") self.get_pp_config() - # If Solutions Enabler is installed collect Symmetrix/DMX specific - # information - if len(self.policy().package_manager.all_pkgs_by_name_regex( - '[Ss][Yy][Mm][Cc][Ll][Ii]-[Ss][Yy][Mm][Cc][Ll][Ii]')) > 0: - print("EMC Solutions Enabler SYMCLI is installed.") - print(" Gathering EMC Solutions Enabler SYMCLI information...") - self.add_custom_text("EMC Solutions Enabler is installed.
") - self.get_symcli_files() - self.get_symcli_config() - add_about_emc = "yes" - # If Navisphere Host Agent is installed collect CLARiiON specific # information if os.path.isdir("/opt/Navisphere/bin"): diff --git a/sos/plugins/symcli.py b/sos/plugins/symcli.py new file mode 100644 index 00000000..6dc660e8 --- /dev/null +++ b/sos/plugins/symcli.py @@ -0,0 +1,96 @@ +# Copyright (C) 2008 EMC Corporation. Keith Kearnan +# Copyright (C) 2014 Red Hat, Inc. Bryn M. Reeves + +# 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 + +# 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, os +from sos.utilities import is_executable + + +class Symcli(Plugin, RedHatPlugin): + """ EMC Symcli + """ + + plugin_name = 'symcli' + profiles = ('storage', 'hardware') + + def get_symcli_files(self): + """ EMC Solutions Enabler SYMCLI specific information - files + """ + self.add_copy_specs([ + "/var/symapi/db/symapi_db.bin", + "/var/symapi/config/[a-z]*", + "/var/symapi/log/[a-z]*" + ]) + + def get_symcli_config(self): + """ EMC Solutions Enabler SYMCLI specific information + - Symmetrix/DMX - commands + """ + self.add_cmd_outputs([ + "/usr/symcli/bin/symcli -def", + "/usr/symcli/bin/symdg list", + "/usr/symcli/bin/symdg -v list", + "/usr/symcli/bin/symcg list", + "/usr/symcli/bin/symcg -v list", + "/usr/symcli/bin/symcfg list", + "/usr/symcli/bin/symcfg -v list", + "/usr/symcli/bin/symcfg -db", + "/usr/symcli/bin/symcfg -semaphores list", + "/usr/symcli/bin/symcfg -dir all -v list", + "/usr/symcli/bin/symcfg -connections list", + "/usr/symcli/bin/symcfg -app -v list", + "/usr/symcli/bin/symcfg -fa all -port list", + "/usr/symcli/bin/symcfg -ra all -port list", + "/usr/symcli/bin/symcfg -sa all -port list", + "/usr/symcli/bin/symcfg list -lock", + "/usr/symcli/bin/symcfg list -lockn all", + "/usr/symcli/bin/syminq", + "/usr/symcli/bin/syminq -v", + "/usr/symcli/bin/syminq -symmids", + "/usr/symcli/bin/syminq hba -fibre", + "/usr/symcli/bin/syminq hba -scsi", + "/usr/symcli/bin/symhost show -config", + "/usr/symcli/bin/stordaemon list", + "/usr/symcli/bin/stordaemon -v list", + "/usr/symcli/bin/sympd list", + "/usr/symcli/bin/sympd list -vcm", + "/usr/symcli/bin/symdev list", + "/usr/symcli/bin/symdev -v list", + "/usr/symcli/bin/symdev -rdfa list", + "/usr/symcli/bin/symdev -rdfa -v list", + "/usr/symcli/bin/symbcv list", + "/usr/symcli/bin/symbcv -v list", + "/usr/symcli/bin/symrdf list", + "/usr/symcli/bin/symrdf -v list", + "/usr/symcli/bin/symrdf -rdfa list", + "/usr/symcli/bin/symrdf -rdfa -v list", + "/usr/symcli/bin/symsnap list", + "/usr/symcli/bin/symsnap list -savedevs", + "/usr/symcli/bin/symclone list", + "/usr/symcli/bin/symevent list", + "/usr/symcli/bin/symmask list hba", + "/usr/symcli/bin/symmask list logins", + "/usr/symcli/bin/symmaskdb list database", + "/usr/symcli/bin/symmaskdb -v list database" + ]) + + def check_enabled(self): + return is_executable("/usr/symcli/bin/symcli") + + def setup(self): + self.get_symcli_files() + self.get_symcli_config() + +# vim: et ts=4 sw=4 -- cgit