aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryn M. Reeves <bmr@redhat.com>2014-09-18 21:29:54 +0100
committerBryn M. Reeves <bmr@redhat.com>2014-09-18 21:46:38 +0100
commit2f2d528d2f3b14d30d6971c9e2883902c5dfeafb (patch)
tree5d66ce1aa71e0aaae985b1831c18fd32e38ff0bf
parent7c8e3f3a429b891eb7bb16ef245ee28ae8035b69 (diff)
downloadsos-2f2d528d2f3b14d30d6971c9e2883902c5dfeafb.tar.gz
[emc,symcli] move symcli collection into its own plugin.
Related: #257. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
-rw-r--r--sos/plugins/emc.py72
-rw-r--r--sos/plugins/symcli.py96
2 files changed, 96 insertions, 72 deletions
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.<br>")
- 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 <kearnan_keith@emc.com>
+# Copyright (C) 2014 Red Hat, Inc. Bryn M. Reeves <bmr@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
+# 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