Fix: ignore D-Bus error if not mandatory property
Some platforms doesn't have PFR support. In such
case D-Bus service or object may not exist. So
corrected code to set the default value of PFR
provisioning status(NotProvisioned) and don't
return error as this is not mandatory property.
Tested:
- Get on /redfish/v1/Systems/system is success
in all platforms.
Change-Id: I622bab7fd64fa71f91d39a62c5830e65fa821fb5
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
diff --git a/redfish-core/lib/systems.hpp b/redfish-core/lib/systems.hpp
index c7501e6..983714f 100644
--- a/redfish-core/lib/systems.hpp
+++ b/redfish-core/lib/systems.hpp
@@ -1391,10 +1391,13 @@
[aResp](const boost::system::error_code ec,
const std::vector<std::pair<std::string, VariantType>>&
propertiesList) {
+ nlohmann::json& oemPFR =
+ aResp->res.jsonValue["Oem"]["OpenBmc"]["FirmwareProvisioning"];
if (ec)
{
BMCWEB_LOG_DEBUG << "DBUS response error " << ec;
- messages::internalError(aResp->res);
+ // not an error, don't have to have the interface
+ oemPFR["ProvisioningStatus"] = "NotProvisioned";
return;
}
@@ -1420,8 +1423,6 @@
return;
}
- nlohmann::json& oemPFR =
- aResp->res.jsonValue["Oem"]["OpenBmc"]["FirmwareProvisioning"];
if (*provState == true)
{
if (*lockState == true)