Add support for include hidden & informational PELs
Changes:
- Added new optional parameter to include hidden PELs.
Tested:
- Created a unit testcase and verified functions with
new optional parameter on BMC environment.
Change-Id: Ie4b402614bb6b8725cc59630927b5023eaa69292
Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.com>
diff --git a/lib/pel_utils.py b/lib/pel_utils.py
index cf7b39b..07e6d96 100644
--- a/lib/pel_utils.py
+++ b/lib/pel_utils.py
@@ -65,12 +65,24 @@
return out_buf
-def get_pel_data_from_bmc():
+def get_pel_data_from_bmc(include_hidden_pels=False,
+ include_informational_pels=False):
r"""
Returns PEL data from BMC else throws exception.
+
+ Description of arguments:
+ include_hidden_pels True/False (default: False).
+ Set True to get hidden PELs else False.
+ include_informational_pels True/False (default: False).
+ Set True to get informational PELs else False.
"""
try:
- pel_data = peltool(" -l")
+ pel_cmd = " -l"
+ if include_hidden_pels:
+ pel_cmd = pel_cmd + " -h"
+ if include_informational_pels:
+ pel_cmd = pel_cmd + " -f"
+ pel_data = peltool(pel_cmd)
if not pel_data:
print("No PEL data present in BMC ...")
except Exception as e:
@@ -78,20 +90,22 @@
return pel_data
-def fetch_all_pel_ids_for_src(src_id, severity):
+def fetch_all_pel_ids_for_src(src_id, severity, include_hidden_pels=False):
r"""
Fetch all PEL IDs for the input SRC ID based on the severity type
in the list format.
Description of arguments:
- src_id SRC ID (e.g. BC20E504).
- severity PEL severity (e.g. "Predictive Error"
- "Recovered Error").
+ src_id SRC ID (e.g. BCXXYYYY).
+ severity PEL severity (e.g. "Predictive Error"
+ "Recovered Error").
+ include_hidden_pels True/False (default: False).
+ Set True to get hidden PELs else False.
"""
try:
src_pel_ids = []
- pel_data = get_pel_data_from_bmc()
+ pel_data = get_pel_data_from_bmc(include_hidden_pels)
pel_id_list = pel_data.keys()
for pel_id in pel_id_list:
# Check if required SRC ID with severity is present
@@ -167,13 +181,16 @@
return True
-def fetch_all_src():
+def fetch_all_src(include_hidden_pels=False):
r"""
Fetch all SRC IDs from peltool in the list format.
+
+ include_hidden_pels True/False (default: False).
+ Set True to get hidden PELs else False.
"""
try:
src_id = []
- pel_data = get_pel_data_from_bmc()
+ pel_data = get_pel_data_from_bmc(include_hidden_pels)
if pel_data:
pel_id_list = pel_data.keys()
for pel_id in pel_id_list:
@@ -184,7 +201,7 @@
return src_id
-def check_for_unexpected_src(unexpected_src_list=[]):
+def check_for_unexpected_src(unexpected_src_list=[], include_hidden_pels=False):
r"""
From the given unexpected SRC list, check if any unexpected SRC created
on the BMC. Returns 0 if no SRC found else throws exception.
@@ -192,12 +209,15 @@
Description of arguments:
unexpected_src_list Give unexpected SRCs in the list format.
e.g.: ["BBXXYYYY", "AAXXYYYY"].
+
+ include_hidden_pels True/False (default: False).
+ Set True to get hidden PELs else False.
"""
try:
unexpected_src_count = 0
if not unexpected_src_list:
print("Unexpected SRC list is empty.")
- src_data = fetch_all_src()
+ src_data = fetch_all_src(include_hidden_pels)
for src in unexpected_src_list:
if src in src_data:
print("Found an unexpected SRC : " + src)