From eb3616f1a7edda1f2ba5989979444d38cdbaa410 Mon Sep 17 00:00:00 2001 From: Trevor Benson Date: Fri, 18 Oct 2024 11:00:26 -0700 Subject: [PATCH 1/2] [perccli2] Add perccli2 plugin, PERC H965 and newer controllers Signed-off-by: Trevor Benson --- sos/report/plugins/perccli2.py | 58 ++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 sos/report/plugins/perccli2.py diff --git a/sos/report/plugins/perccli2.py b/sos/report/plugins/perccli2.py new file mode 100644 index 0000000000..be2cda2d06 --- /dev/null +++ b/sos/report/plugins/perccli2.py @@ -0,0 +1,58 @@ +# This file is part of the sos project: https://github.com/sosreport/sos +# +# This copyrighted material is made available to anyone wishing to use, +# modify, copy, or redistribute it subject to the terms and conditions of +# version 2 of the GNU General Public License. +# +# See the LICENSE file in the source distribution for further information. + +from sos.report.plugins import Plugin, IndependentPlugin, PluginOpt + + +class PercCLI2(Plugin, IndependentPlugin): + + short_desc = 'PowerEdge RAID Controller 2 management' + + plugin_name = 'perccli2' + profiles = ('system', 'storage', 'hardware',) + packages = ('perccli2',) + + option_list = [ + PluginOpt('json', default=False, desc='collect data in JSON format') + ] + + def setup(self): + cmd = '/opt/MegaRAID/perccli/perccli2' + subcmds = [ + 'show ctrlcount', + '/call show AliLog', + '/call show all', + '/call show termlog', + '/call/bbu show all', + '/call/cv show all', + '/call/dall show', + '/call/eall show all', + '/call/eall/sall show all', + '/call/sall show all', + '/call/vall show all', + ] + + json = ' J' if self.get_option('json') else '' + + logpath = self.get_cmd_output_path() + + for subcmd in subcmds: + self.add_cmd_output( + f"{cmd} {subcmd}{json}", + suggest_filename=f"perccli2_{subcmd}{json}", + runat=logpath) + + # /call show events need 'file=' option to get adapter info like below + # "Adapter: # - Number of Events: xxx". + subcmd = '/call show events' + self.add_cmd_output( + f"{cmd} {subcmd} file=/dev/stdout{json}", + suggest_filename=f"perccli2_{subcmd}{json}", + runat=logpath) + +# vim: set et ts=4 sw=4 : From f42a459b9af51f1e9c37584dd78dfe4dd5562fb7 Mon Sep 17 00:00:00 2001 From: illuminatus Date: Mon, 21 Oct 2024 08:25:57 -0700 Subject: [PATCH 2/2] [perccli2] Correct path to command Signed-off-by: Trevor Benson --- sos/report/plugins/perccli2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sos/report/plugins/perccli2.py b/sos/report/plugins/perccli2.py index be2cda2d06..c336d50841 100644 --- a/sos/report/plugins/perccli2.py +++ b/sos/report/plugins/perccli2.py @@ -22,7 +22,7 @@ class PercCLI2(Plugin, IndependentPlugin): ] def setup(self): - cmd = '/opt/MegaRAID/perccli/perccli2' + cmd = '/opt/MegaRAID/perccli2/perccli2' subcmds = [ 'show ctrlcount', '/call show AliLog',