Add processor callout when BMC has no comm to an OCC
The non-informational PEL indicating that communication has been lost to
the OCC did not have any callouts.
This commit will add a callout for the processor that it was unable to
communicate with.
Example:
'''
"Error Details": {
"Message": "BMC failed to communicate with the OCC"
},
"Valid Word Count": "0x09",
"Reference Code": "BD572684",
"Hex Word 2": "00000055",
"Hex Word 3": "2E2D0010",
"Hex Word 4": "00000000",
"Hex Word 5": "00000000",
"Hex Word 6": "00000000",
"Hex Word 7": "00000000",
"Hex Word 8": "00000000",
"Hex Word 9": "00000000",
"Callout Section": {
"Callout Count": "1",
"Callouts": [{
"FRU Type": "Normal Hardware FRU",
"Priority": "Mandatory, replace all with this type as a unit",
"Location Code": "U78DA.ND0.WZS003T-P0-C15",
"Part Number": "F201110",
"CCIN": "5C67",
"Serial Number": "YA39AAAA1828"
}]
}
'''
A
Verified on Rainier.
Change-Id: Ia26668af568238d78263b81d16fd30a849f67134
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
diff --git a/occ_errors.hpp b/occ_errors.hpp
index e3ae412..57fc6c8 100644
--- a/occ_errors.hpp
+++ b/occ_errors.hpp
@@ -74,16 +74,20 @@
* @param[in] path - the DBus error path
* @param[in] err - Optional error return code
* @param[in] callout - Optional PEL callout path
+ * @param[in] isInventory - true if the callout path is an
+ * inventory path, false if it is a device path
*/
- Descriptor(const char* path, int err = 0,
- const char* callout = nullptr) :
- log(true), err(err), callout(callout), path(path)
+ Descriptor(const char* path, int err = 0, const char* callout = nullptr,
+ const bool isInventory = false) :
+ log(true), err(err), callout(callout), path(path),
+ isInventoryCallout(isInventory)
{}
bool log;
int err;
const char* callout;
const char* path;
+ bool isInventoryCallout;
};
/** @brief Starts to monitor for error conditions