Add handling for json utility exception
While handling pass1 planar, handle exceltion in place.
This needs to be removed once utility methods are updated to not throw
exceptions.
Change-Id: I48c9000d6b6f7a0971e5ec21a897498c903a0a72
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
diff --git a/configuration/ibm/50001000.json b/configuration/ibm/50001000.json
index 77c7c80..3e08269 100644
--- a/configuration/ibm/50001000.json
+++ b/configuration/ibm/50001000.json
@@ -2787,10 +2787,6 @@
"replaceableAtRuntime": true,
"preAction": {
"collection": {
- "gpioPresence": {
- "pin": "SLOT8_EXPANDER_PRSNT_N",
- "value": 0
- },
"setGpio": {
"pin": "SLOT8_PRSNT_EN_RSVD",
"value": 1
diff --git a/vpd-manager/src/worker.cpp b/vpd-manager/src/worker.cpp
index d1bd00c..a0978c8 100644
--- a/vpd-manager/src/worker.cpp
+++ b/vpd-manager/src/worker.cpp
@@ -1453,14 +1453,24 @@
// logging error for these cases.
if (vpdSpecificUtility::isPass1Planar())
{
- const std::string& l_invPathLeafValue =
- sdbusplus::message::object_path(
- jsonUtility::getInventoryObjPathFromJson(m_parsedJson,
- i_vpdFilePath))
- .filename();
+ // Till exceptions are removed from utility method, this needs
+ // to be handled in place.
+ try
+ {
+ const std::string& l_invPathLeafValue =
+ sdbusplus::message::object_path(
+ jsonUtility::getInventoryObjPathFromJson(
+ m_parsedJson, i_vpdFilePath))
+ .filename();
- if ((l_invPathLeafValue.find("pcie_card", 0) !=
- std::string::npos))
+ if ((l_invPathLeafValue.find("pcie_card", 0) !=
+ std::string::npos))
+ {
+ // skip logging any PEL for PCIe cards on pass 1 planar.
+ return std::make_tuple(false, i_vpdFilePath);
+ }
+ }
+ catch (const std::exception& l_ex)
{
// skip logging any PEL for PCIe cards on pass 1 planar.
return std::make_tuple(false, i_vpdFilePath);