Skip to content

Commit 222ab7d

Browse files
committed
Multi-host support for PostCodes LogService
Add support for multi-host for all GET and POST method requests under /redfish/v1/Systems/{computerSystemId}/LogServices/PostCodes/ redfish resource. Multi-host meson options needed: -Dexperimental-redfish-multi-computer-system=enabled Tested: Redfish-service-validation passes on single-host machine as well as on yv4 in qemu. Every postcode entry is displayed in web-ui on single-host and shown in the curl output when requested on yv4 qemu. ``` curl -w "@curl-format.txt" -c cjar -b cjar -k -X GET 'https://'"${BMC}"':4443/redfish/v1/Systems/Yosemite_4_Sentinel_Dome_Slot_1_Chassis/LogServices/PostCodes/Entries' \ -H 'X-Auth-Token: '"$BMCWEB_SESSION_TOKEN"'' { "@odata.id": "/redfish/v1/Systems/Yosemite_4_Sentinel_Dome_Slot_1_Chassis/LogServices/PostCodes/Entries", "@odata.type": "#LogEntryCollection.LogEntryCollection", "Description": "Collection of POST Code Log Entries", "Members": [ { "@odata.id": "/redfish/v1/Systems/Yosemite_4_Sentinel_Dome_Slot_1_Chassis/LogServices/PostCodes/Entries/B1-1", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "Created": "2025-04-22T18:30:51.528798+00:00", "EntryType": "Event", "Id": "B1-1", "Message": "Boot Count: 1; Time Stamp Offset: 0.0000 seconds; POST Code: 0xA1", "MessageArgs": [ "1", "0.0000", "0xA1" ], "MessageId": "OpenBMC.0.2.BIOSPOSTCode", "Name": "POST Code Log Entry", "Severity": "OK" }, ... "Members@odata.count": 819, "Name": "BIOS POST Code Log Entries" } curl -w "@curl-format.txt" -c cjar -b cjar -k -X GET 'https://'"${BMC}"':4443/redfish/v1/Systems/Yosemite_4_Sentinel_Dome_Slot_1_Chassis/LogServices/PostCodes/Entries/B1-1' \ -H 'X-Auth-Token: '"$BMCWEB_SESSION_TOKEN"'' { "@odata.id": "/redfish/v1/Systems/Yosemite_4_Sentinel_Dome_Slot_1_Chassis/LogServices/PostCodes/Entries/B1-1", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "Created": "2025-04-22T18:30:51.528798+00:00", "EntryType": "Event", "Id": "B1-1", "Message": "Boot Count: 1; Time Stamp Offset: 0.0000 seconds; POST Code: 0xA1", "MessageArgs": [ "1", "0.0000", "0xA1" ], "MessageId": "OpenBMC.0.2.BIOSPOSTCode", "Name": "POST Code Log Entry", "Severity": "OK" } ``` POST has been tested on single-host hardware inside web-ui and yv4 qemu machine with curl. (Postcodes have been copied over to the qemu machine manually from a single-host machine). No regressions observed. The postcode dir for the specific host is cleared successfully on both single- and multi-host machine after the POST. Change-Id: Ie04cb160a1f2756a04be68e6675a6cecc5f09117 Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
1 parent b82b62e commit 222ab7d

File tree

2 files changed

+159
-134
lines changed

2 files changed

+159
-134
lines changed

redfish-core/lib/log_services.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -984,7 +984,7 @@ inline void handleSystemsLogServiceCollectionGet(
984984
nlohmann::json& logServiceArrayLocal =
985985
asyncResp->res.jsonValue["Members"];
986986
nlohmann::json::object_t member;
987-
member["@odata.id"] = std::format(
987+
member["@odata.id"] = boost::urls::format(
988988
"/redfish/v1/Systems/{}/LogServices/PostCodes",
989989
systemName);
990990

0 commit comments

Comments
 (0)