Fix OEM Json payload in OEM Fragment handler
OEM fragments handlers need not mention the OEM key in the JSON this
will be added by the OEM route handler based on the fragment
registration information
Tests
1. Service validator passed on daytonax image
2. OpenBMC Manager schema payload contain the FAN OEM properties in the
correct order.
```
curl -k -u root:0penBmc https://localhost:2443/redfish/v1/Managers/bmc
{
"@odata.id": "/redfish/v1/Managers/bmc",
"@odata.type": "#Manager.v1_14_0.Manager",
….
"Id": "bmc",
"LastResetTime": "2025-04-14T08:48:34+00:00",
….
"NetworkProtocol": {
"@odata.id": "/redfish/v1/Managers/bmc/NetworkProtocol"
},
"Oem": {
"OpenBmc": {
"@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc",
"@odata.type": "#OpenBMCManager.v1_0_0.Manager",
"Certificates": {
"@odata.id": "/redfish/v1/Managers/bmc/Truststore/Certificates"
},
"Fan": {
"@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan",
"@odata.type": "#OpenBMCManager.v1_0_0.Manager.Fan",
"FanControllers": {
"@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanControllers",
"@odata.type": "#OpenBMCManager.v1_0_0.Manager.FanControllers",
"Fan_SYS0": {
"@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanControllers/Fan_SYS0",
"@odata.type": "#OpenBMCManager.v1_0_0.Manager.FanController",
"FFGainCoefficient": 1.0,
"FFOffCoefficient": 0.0,
"ICoefficient": 0.0,
"ILimitMax": 0.0,
"ILimitMin": 0.0,
"Inputs": [
"Fan_SYS0_0",
"Fan_SYS0_1"
],
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
"OutLimitMin": 10.0,
"Outputs": [
"Pwm 1"
],
"PCoefficient": 0.0,
"PositiveHysteresis": 0.0,
"SlewNeg": 0.0,
"SlewPos": 0.0,
"Zones": [
{
"@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanZones/Zone_1"
}
]
},
……
}
}
}
},
"PowerState": "On",
"ServiceEntryPointUUID": "3c9e6cf1-3ed7-4105-87b5-31beb31e8f4d",
"Status": {
"Health": "OK",
"State": "Enabled"
},
"UUID": "a5d927e1-e8cb-462c-8f73-7d01ab2c2657"
}
```
Change-Id: Ib30dbaed8f2bf2c361f857cb4a0c6b0ab15ee65a
Signed-off-by: Rohit PAI <ropai@nvidia.com>
diff --git a/redfish-core/lib/openbmc/openbmc_managers.hpp b/redfish-core/lib/openbmc/openbmc_managers.hpp
index ab7fb8b..bf0e791 100644
--- a/redfish-core/lib/openbmc/openbmc_managers.hpp
+++ b/redfish-core/lib/openbmc/openbmc_managers.hpp
@@ -70,8 +70,7 @@
messages::internalError(asyncResp->res);
return;
}
- nlohmann::json& configRoot =
- asyncResp->res.jsonValue["Oem"]["OpenBmc"]["Fan"];
+ nlohmann::json& configRoot = asyncResp->res.jsonValue["Fan"];
nlohmann::json& fans = configRoot["FanControllers"];
fans["@odata.type"] =
"#OpenBMCManager.v1_0_0.Manager.FanControllers";