| 96a194c4 | 18-Aug-2025 |
Ed Tanous <ed@tanous.net> |
Implement modernize-use-ranges
This tidy check can transform code to use std::ranges. Enable the check, apply the fixes it proposes.
Tested: Redfish service validator passes in qemu
Change-Id: I3
Implement modernize-use-ranges
This tidy check can transform code to use std::ranges. Enable the check, apply the fixes it proposes.
Tested: Redfish service validator passes in qemu
Change-Id: I3f21b27d3d30277f71b9c8a2c584a22bc16865e9 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 32ea63d3 | 03-Sep-2025 |
Ed Tanous <etanous@nvidia.com> |
Use boost::urls::format
boost::urls::format is specifically meant for URL construction. It handles encoding like percentage encoding which std::format does not.
Change-Id: Ib6e6bc8bcf30b138b9311157
Use boost::urls::format
boost::urls::format is specifically meant for URL construction. It handles encoding like percentage encoding which std::format does not.
Change-Id: Ib6e6bc8bcf30b138b93111577d9f2150709dda5c Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 6926d430 | 24-Nov-2025 |
Oliver Brewka <oliver.brewka@9elements.com> |
Combine handlers for systems eventlog
Following patch 85522 [1], combine the handlers in systems eventlog.
Tested: Unit tests pass.
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/85522
Change-
Combine handlers for systems eventlog
Following patch 85522 [1], combine the handlers in systems eventlog.
Tested: Unit tests pass.
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/85522
Change-Id: Ib1649de83e64abb289e0379139d0a75466e15257 Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
show more ...
|
| c621786e | 24-Nov-2025 |
Ed Tanous <etanous@nvidia.com> |
Combine handlers
Fix one comment made on [1] to combine method calls into a single one.
Tested: Unit tests pass, @Oliver Brewka need your help to sanity check this.
[1] https://gerrit.openbmc.org/
Combine handlers
Fix one comment made on [1] to combine method calls into a single one.
Tested: Unit tests pass, @Oliver Brewka need your help to sanity check this.
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/83355
Change-Id: Iad90d57c6cd0fe3926186f238aba887b88e99c12 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 7bf29ab3 | 23-Oct-2025 |
Christopher Meis <christopher.meis@9elements.com> |
redfish-core: Refactor storage.hpp
This change splits out storage controller and storage drive route setup and code into new files and unifies the call of route setup for storage, storage controller
redfish-core: Refactor storage.hpp
This change splits out storage controller and storage drive route setup and code into new files and unifies the call of route setup for storage, storage controller and storage drive collection and single storage controller properties.
Tested: CI ran through without errors, build testing succeeded.
Change-Id: I234eb034205b7e6c3a5f307172019d53d42de6e3 Signed-off-by: Christopher Meis <christopher.meis@9elements.com>
show more ...
|
| a0170837 | 13-Oct-2025 |
Oliver Brewka <oliver.brewka@9elements.com> |
Rename Systems EventLog route handler
Rename the route handler to clearly indicate, that the handler handles the ComputerSystem redfish resource.
Tested: Code compiles.
Change-Id: Ib722427ab53f35b
Rename Systems EventLog route handler
Rename the route handler to clearly indicate, that the handler handles the ComputerSystem redfish resource.
Tested: Code compiles.
Change-Id: Ib722427ab53f35b2270fe6e102614f21fe28ffcb Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
show more ...
|
| ab8aaeba | 27-Aug-2025 |
Oliver Brewka <oliver.brewka@9elements.com> |
Add DBus EventLog to Manager
In order to get access to the EventLog on multi-host platforms, add Journal EventLog to Manager. This implementation is based on the discussion we had on patch 76319 [1]
Add DBus EventLog to Manager
In order to get access to the EventLog on multi-host platforms, add Journal EventLog to Manager. This implementation is based on the discussion we had on patch 76319 [1].
TLDR: On multi-host, we technically would have to split the event log on a per host node basis, so that each host node has its own specific event log.
However, this is currently not supported so we had to decide, whether we put it on a specific ComputerSystem, or refactor the current implementation of the EventLog, to allow for the EventLog LogService to be part of the Managers resource. We chose the latter one, because a), it is not clear on which ComputerSystem to put the EventLog, as long as we aren't splitting the event log per host node, and b), if that particular ComputerSystem is not existing at runtime, there would be no access to the EventLog at all.
This feature can be enabled with the redfish-eventlog-location meson option. By default it is set to 'systems', which translates to the EventLog being under the Systems resource. To enable the EventLog under the Managers resource set
``` -Dredfish-eventlog-location=managers ``` This in turn, disables the EventLog under the ComputerSystem resource.
Tested: Redfish validation succeeded for both ComputerSystem and Managers tree.
Patch LogEntry: ``` $ curl -k -X PATCH 'https://'"${BMC}"':'"${BMC_WEBPORT}"'/redfish/v1/Managers/bmc/LogServices/EventLog/Entries/4444' \ -H 'X-Auth-Token: '"$BMCWEB_SESSION_TOKEN"'' \ -H "Content-Type: application/json" -d "{"Resolved":true}"
$ busctl introspect xyz.openbmc_project.Logging /xyz/openbmc_project/logging/entry/4444
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
...
xyz.openbmc_project.Logging.Entry interface - - - .GetEntry method - h - .AdditionalData property a{ss} 5 "CALLOUT_INVENTORY_PATH" "/xyz/open... emits-change writable .EventId property s "" emits-change writable .Id property u 4444 emits-change writable .Message property s "xyz.openbmc_project.Sensor.Threshold... emits-change writable .Resolution property s "" emits-change writable .Resolved property b true emits-change writable
```
Delete LogEntry: ``` $ busctl tree xyz.openbmc_project.Logging ... | |- /xyz/openbmc_project/logging/entry/6498 | |- /xyz/openbmc_project/logging/entry/6499 | |- /xyz/openbmc_project/logging/entry/6500 | |- /xyz/openbmc_project/logging/entry/6501 ...
$ curl -k -X DELETE 'https://'"${BMC}"':4443/redfish/v1/Managers/bmc/LogServices/EventLog/Entries/6500' \ -H 'X-Auth-Token: '"$BMCWEB_SESSION_TOKEN"'' \ -H "Content-Type: application/json"
| |- /xyz/openbmc_project/logging/entry/6498 | |- /xyz/openbmc_project/logging/entry/6499 | |- /xyz/openbmc_project/logging/entry/6501 ```
ClearLog action: ``` $ curl -k -X POST 'https://'"${BMC}"':4443/redfish/v1/Managers/bmc/LogServices/EventLog/Actions/LogService.ClearLog' \ -H 'X-Auth-Token: '"$BMCWEB_SESSION_TOKEN"'' \ -H "Content-Type: application/json"
{ "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.19.Success", "MessageSeverity": "OK", "Resolution": "None." } ] } ```
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/76319
Change-Id: Ie619af8e10a723aef2e02ef03796851511b05008 Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
show more ...
|
| 43feb5cd | 24-Sep-2025 |
Oliver Brewka <oliver.brewka@9elements.com> |
Add Journal EventLog to Manager
In order to get access to the EventLog on multi-host platforms, add Journal EventLog to Manager. This implementation is based on the discussion we had on patch 76319
Add Journal EventLog to Manager
In order to get access to the EventLog on multi-host platforms, add Journal EventLog to Manager. This implementation is based on the discussion we had on patch 76319 [1].
TLDR: On multi-host, we technically would have to split the event log on a per host node basis, so that each host node has its own specific event log.
However, this is currently not supported so we had to decide, whether we put it on a specific ComputerSystem, or refactor the current implementation of the EventLog, to allow for the EventLog LogService to be part of the Managers resource. We chose the latter one, because a), it is not clear on which ComputerSystem to put the EventLog, as long as we aren't splitting the event log per host node, and b), if that particular ComputerSystem is not existing at runtime, there would be no access to the EventLog at all.
This feature can be enabled with the redfish-eventlog-location meson option. By default it is set to 'systems', which translates to the EventLog being under the Systems resource. To enable the EventLog under the Managers resource set
``` -Dredfish-eventlog-location=managers ``` This in turn, disables the EventLog under the ComputerSystem resource.
Tested: Redfish validation succeeded for both ComputerSystem and Managers tree.
``` curl command: curl -w "@curl-format.txt" -c cjar -b cjar -k -X GET 'https://'"${BMC}"':4443/redfish/v1/'"$ROUTE"'' \ -H 'X-Auth-Token: '"$BMCWEB_SESSION_TOKEN"''
GET /redfish/v1/Managers/bmc/LogServices { "@odata.id": "/redfish/v1/Managers/bmc/LogServices", "@odata.type": "#LogServiceCollection.LogServiceCollection", "Description": "Collection of LogServices for this Manager", "Members": [ { "@odata.id": "/redfish/v1/Managers/bmc/LogServices/Journal" }, { "@odata.id": "/redfish/v1/Managers/bmc/LogServices/EventLog" } ], "Members@odata.count": 2, "Name": "Open BMC Log Services Collection" }
GET /redfish/v1/Managers/bmc/LogServices/EventLog { "@odata.id": "/redfish/v1/Managers/bmc/LogServices/EventLog", "@odata.type": "#LogService.v1_2_0.LogService", "Actions": { "#LogService.ClearLog": { "target": "/redfish/v1/Managers/bmc/LogServices/EventLog/Actions/LogService.ClearLog" } }, "DateTime": "2025-09-24T15:22:36+00:00", "DateTimeLocalOffset": "+00:00", "Description": "Manager Event Log Service", "Entries": { "@odata.id": "/redfish/v1/Managers/bmc/LogServices/EventLog/Entries" }, "Id": "EventLog", "Name": "Event Log Service", "OverWritePolicy": "WrapsWhenFull" }
GET /redfish/v1/Managers/bmc/LogServices/EventLog/Entries { "@odata.id": "/redfish/v1/Managers/bmc/LogServices/EventLog/Entries", "@odata.type": "#LogEntryCollection.LogEntryCollection", "Description": "Collection of Manager Event Log Entries", "Members": [ { "@odata.id": "/redfish/v1/Managers/bmc/LogServices/EventLog/Entries/1730009576", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "Created": "2024-10-27T06:12:56+00:00", "EntryType": "Event", "Id": "1730009576", "Message": "Host system DC power is off", "MessageArgs": [], "MessageId": "OpenBMC.0.1.DCPowerOff", "Name": "Manager Event Log Entry", "Severity": "OK" }, ... ], "Members@odata.count": 2820, "Members@odata.nextLink": "/redfish/v1/Managers/bmc/LogServices/EventLog/Entries?$skip=1000", "Name": "Manager Event Log Entries" }
GET /redfish/v1/Managers/bmc/LogServices/EventLog/Entries/1730009576 { "@odata.id": "/redfish/v1/Managers/bmc/LogServices/EventLog/Entries/1730009576", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "Created": "2024-10-27T06:12:56+00:00", "EntryType": "Event", "Id": "1730009576", "Message": "Host system DC power is off", "MessageArgs": [], "MessageId": "OpenBMC.0.1.DCPowerOff", "Name": "Manager Event Log Entry", "Severity": "OK" } ``` ClearLog action: Log files are being successfully deleted from /var/log
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/76319
Change-Id: If5b4fe10151b6bfd28a1b49c41f8cfcec1b9132c Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
show more ...
|
| d9495964 | 16-Oct-2025 |
Thang Tran <thuutran@amperecomputing.com> |
Correct the version of Message Id
Applications are logging Redfish Message ID to journal, but the version of some message ID are different with the definition of bmcweb. E.g: - psusensor is defining
Correct the version of Message Id
Applications are logging Redfish Message ID to journal, but the version of some message ID are different with the definition of bmcweb. E.g: - psusensor is defining version of OpenBMC registry is "0.1" as [1]. - The bmcweb defines the version of OpenBMC registry is "0.5" as [2].
It makes the "MessageId" property of Event log's enties has different version with definition in the /redfish/v1/Registries.
This commit corrects the version of Message ID.
[1]: https://github.com/openbmc/dbus-sensors/blob/6b7123225fc4a5180faf89190e9f64a7e248e697/src/psu/PSUEvent.cpp#L121 [2]: https://github.com/openbmc/bmcweb/blob/master/redfish-core/include/registries/openbmc.json#L1678
Tested: Verify the version of Events are the same the version of Registries that are defined in the bmcweb.
Change-Id: Ib862c8d0a62cae63082436cb4646a9ca45207872 Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
show more ...
|
| efe29ab5 | 13-Nov-2025 |
Christopher Meis <christopher.meis@9elements.com> |
redfish/lib: simplify memory.hpp
This change simplify the routes and route setup for memory functions.
Change-Id: I13d66fbda48672032bb4a037743ad6f074783620 Signed-off-by: Christopher Meis <christop
redfish/lib: simplify memory.hpp
This change simplify the routes and route setup for memory functions.
Change-Id: I13d66fbda48672032bb4a037743ad6f074783620 Signed-off-by: Christopher Meis <christopher.meis@9elements.com>
show more ...
|
| f8ae8876 | 13-Oct-2025 |
Oliver Brewka <oliver.brewka@9elements.com> |
Refactor LogService collection handler
The route handler for Systems LogService collection consisted of a huge lambda. Extract the code and put it into a separate function. Also, rename the route ha
Refactor LogService collection handler
The route handler for Systems LogService collection consisted of a huge lambda. Extract the code and put it into a separate function. Also, rename the route handler, to align with the Redfish resource identifiers and reorder the placement of the functions, so that requestRoutes functions are at the bottom of the file.
Tested: Code compiles.
Change-Id: Ifb9b27a5648870e5691777e7b031ff464a657b42 Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
show more ...
|
| 9d6459e8 | 27-Aug-2025 |
Oliver Brewka <oliver.brewka@9elements.com> |
Dynamic EventLogService handler
In order to reuse the handler for the EventLogService under Managers, extract the logic from the handler and put it into a separate function in the eventlog util. Add
Dynamic EventLogService handler
In order to reuse the handler for the EventLogService under Managers, extract the logic from the handler and put it into a separate function in the eventlog util. Add an additional argument that specifies the redfish resource, so we can handle Systems and Managers resource with the same handler.
Tested: Code compiles. Redfish validation succeeds. Additionally the curl output with and without the changes has been diffed. No differences observed.
Change-Id: I48825b55b41afeafa02283dc91cf4cb1cd4cd7c3 Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
show more ...
|
| e8f66f0b | 08-Oct-2025 |
Ed Tanous <etanous@nvidia.com> |
Parse number types from the base registry
Rather than maintaining a list of arguments that are numbers (which is error prone), update the script to just trust that the few parameters labeled in Redf
Parse number types from the base registry
Rather than maintaining a list of arguments that are numbers (which is error prone), update the script to just trust that the few parameters labeled in Redfish as numbers should in fact show up in the API as numbers.
Functionally this changes the APIs for only a few error messages, only one of which (StringValueTooShort) is used and that usage was added recently.
Tested: SRV passes.
Change-Id: I580523ecc0263688738bcb7f7925913e40e2a113 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 99353a92 | 26-Sep-2025 |
Christopher Meis <christopher.meis@9elements.com> |
redfish-core: Unify fan routing
This change unifies fan collection and fan property get route setup.
Change-Id: Ib09a3b7b667ee551df74f2483babf4d0526e26dd Signed-off-by: Christopher Meis <christophe
redfish-core: Unify fan routing
This change unifies fan collection and fan property get route setup.
Change-Id: Ib09a3b7b667ee551df74f2483babf4d0526e26dd Signed-off-by: Christopher Meis <christopher.meis@9elements.com>
show more ...
|
| b0a8d97b | 21-Sep-2025 |
Joey Berkovitz <joey@berkovitz.us> |
PasswordChangeRequired: Fix error message
The PasswordChangeRequired error was incorrectly formatted. Per the spec, it should be an error response and 403 on all requests except for session creation
PasswordChangeRequired: Fix error message
The PasswordChangeRequired error was incorrectly formatted. Per the spec, it should be an error response and 403 on all requests except for session creation, which is just a `@Message.ExtendedInfo` annotation. See [1].
This is a follow-up to 1c651ee12ad55ab6626c2baf3754aecda305ba43 which accidentally only broke out the password change logic for session creation. This change adjusts the non-session-creation error response for PasswordChangeRequired to return a proper error.
Tested: - Built a romulus image - Ran `passwd --expire root` - curl to Managers and session creation
``` ╰─○ curl -kv --user "$BMC_USER:$BMC_PASS" https: //localhost:2443/redfish/v1/Managers < HTTP/2 403 { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The password provided for this account must be changed before access is granted. PATCH the Password property for this account located at the target URI '/redfish/v1/AccountService/Accounts/root' to complete this process.", "MessageArgs": [ "/redfish/v1/AccountService/Accounts/root" ], "MessageId": "Base.1.19.PasswordChangeRequired", "MessageSeverity": "Critical", "Resolution": "Change the password for this account using a PATCH to the Password property at the URI provided." } ], "code": "Base.1.19.PasswordChangeRequired", "message": "The password provided for this account must be changed before access is granted. PATCH the Password property for this account located at the target URI '/redfish/v1/AccountService/Accounts/root' to complete this process." } }
╰─○ curl -kv -X POST -H 'Content-Type: application/json' -d '{"UserName": "root", "Password": "..."}' https://localhost:2443/redfish/v1/SessionService/Sessions < HTTP/2 201 { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The password provided for this account must be changed before access is granted. PATCH the Password property for this account located at the target URI '/redfish/v1/AccountService/Accounts/root' to complete this process.", "MessageArgs": [ "/redfish/v1/AccountService/Accounts/root" ], "MessageId": "Base.1.19.PasswordChangeRequired", "MessageSeverity": "Critical", "Resolution": "Change the password for this account using a PATCH to the Password property at the URI provided." } ], "@odata.id": "/redfish/v1/SessionService/Sessions/klDQdHSMME", "@odata.type": "#Session.v1_7_0.Session", "ClientOriginIPAddress": "0.0.0.0", "Description": "Manager User Session", "Id": "klDQdHSMME", "Name": "User Session", "Roles": [ "Administrator" ], "UserName": "root" } ```
[1]: https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.22.1.html#password-change-required-handling
Change-Id: I0ab50b4e2298d13ae00f84bc7891c2a14610e1b2 Signed-off-by: Joey Berkovitz <joey@berkovitz.us>
show more ...
|
| 2ca56194 | 16-Sep-2025 |
Ed Tanous <etanous@nvidia.com> |
Add back include cleaner
Include cleaner helps the code review process. Add it back, by ignoring some of the more recent boost headers.
Change-Id: I6eddd0e67cd9f469c93fbb344cc1ab46231e450f Signed-
Add back include cleaner
Include cleaner helps the code review process. Add it back, by ignoring some of the more recent boost headers.
Change-Id: I6eddd0e67cd9f469c93fbb344cc1ab46231e450f Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 83237dd6 | 11-Jan-2021 |
SunnySrivastava1984 <sunnsr25@in.ibm.com> |
Inventory properties via Assembly schema
This commit implements Redfish Assembly schema. This schema will be used to publish inventory data for FRUs which are attached to a given Chassis and does no
Inventory properties via Assembly schema
This commit implements Redfish Assembly schema. This schema will be used to publish inventory data for FRUs which are attached to a given Chassis and does not map to any specific schema definition.
The properties which are published in this commit are LocationCode, SparePartNumber, Model, SerialNumber and PartNumber.
One of the major use case to publish these properties via redfish is for anyone to identify the inventory and its location in the system, which in turn will help them in repair/replacement related to that FRU.
The validator has been executed on the change and no error has been found. As this has been tested on a development image some fields are empty in the below pasted output for which warning was thrown by validator but no errors.
Sample Output with [1]: ``` { "@odata.id": "/redfish/v1/Chassis/chassis/Assembly", "@odata.type": "#Assembly.v1_5_1.Assembly", "Assemblies": [ { "@odata.id": "/redfish/v1/Chassis/chassis/Assembly#/Assemblies/0", "@odata.type": "#Assembly.v1_5_1.AssemblyData", "Location": { "PartLocation": { "ServiceLabel": "U78DA.ND0.1234567-D0" } }, "Manufacturer": "", "MemberId": "0", "Model": "", "Name": "base_op_panel_blyth", "PartNumber": "", "SerialNumber": "", "Status": { "Health": "OK", "State": "Absent" } }, { "@odata.id": "/redfish/v1/Chassis/chassis/Assembly#/Assemblies/1", "@odata.type": "#Assembly.v1_5_1.AssemblyData", "Location": { "PartLocation": { "ServiceLabel": "U78DA.ND0.1234567-D1" } }, "Manufacturer": "", "MemberId": "1", "Model": "6B86", "Name": "lcd_op_panel_hill", "PartNumber": "PN12345", "SerialNumber": "YL6B86010000", "Status": { "Health": "OK", "State": "Enabled" } } ], "Assemblies@odata.count": 2, "Id": "Assembly", "Name": "Assembly Collection" } ```
[1] https://gerrit.openbmc.org/c/openbmc/openbmc/+/83907
Change-Id: I2d462340fe1a0b0eb387697f0ff70fcafde3f8d9 Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Signed-off-by: Ninad Palsule <ninad@linux.ibm.com> Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
| 3b37e835 | 16-Sep-2025 |
Christopher Meis <christopher.meis@9elements.com> |
lib/processor.hpp: Clean up
Clean up route generation and remove large lambda functions. Also separate processor from processor operating configuration functions into two files.
Change-Id: I2b72f86
lib/processor.hpp: Clean up
Clean up route generation and remove large lambda functions. Also separate processor from processor operating configuration functions into two files.
Change-Id: I2b72f8663105b6a89612e6e7bc1e7e0812b81eae Signed-off-by: Christopher Meis <christopher.meis@9elements.com>
show more ...
|
| 664c9560 | 26-Aug-2025 |
Oliver Brewka <oliver.brewka@9elements.com> |
Break out DBus EventLog
As part of a EventLog refactor, break out all code used for Systems DBus EventLog, in order to make the code base more maintainable in the long run.
Tested: Only code extrac
Break out DBus EventLog
As part of a EventLog refactor, break out all code used for Systems DBus EventLog, in order to make the code base more maintainable in the long run.
Tested: Only code extraction. Code compiles.
Change-Id: I94de7bf3171fd3963eebec6608438f8d07cee44c Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
show more ...
|
| 75dac00e | 26-Aug-2025 |
Oliver Brewka <oliver.brewka@9elements.com> |
Break out Journal EventLog
As part of a EventLog refactor, break out all code used for Systems Journal EventLog, in order to make the code base more maintainable in the long run.
Tested: Only code
Break out Journal EventLog
As part of a EventLog refactor, break out all code used for Systems Journal EventLog, in order to make the code base more maintainable in the long run.
Tested: Only code extraction. Code compiles.
Change-Id: I855c8c680d3de68944b0ae03ff7f181e6790c456 Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
show more ...
|
| 37937d51 | 21-Feb-2023 |
George Liu <liuxiwei@inspur.com> |
Implement Fabric PortCollection and Port schemas
This implements 2 schemas for FabricAdapters [1][2].
The implementation uses `GetAssociatedSubTreePathsById` & `GetAssociatedSubTreeById`. - https:/
Implement Fabric PortCollection and Port schemas
This implements 2 schemas for FabricAdapters [1][2].
The implementation uses `GetAssociatedSubTreePathsById` & `GetAssociatedSubTreeById`. - https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/69999
The association is defined via - https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/62881.
The backend port examples are also committed via - https://gerrit.openbmc.org/c/openbmc/openpower-vpd-parser/+/66540 - https://gerrit.openbmc.org/c/openbmc/openpower-vpd-parser/+/70888 - https://gerrit.openbmc.org/c/openbmc/openbmc/+/66541
The current submission only implements the basic properties of Port (e.g. Id, Name etc) as a foundation of the future additional properties. - Location - LocationIndicatorActive - Status
One example of Ports is this cable card for the i/o expansion drawers and modeling the 2 ports on the cable card [3]. These ports have an identify led, a location code, and a status.
Tested: - Redfish Validator passes - perform GET methods like these:
``` curl -k -X GET https://${bmc}/redfish/v1/Systems/system/FabricAdapters/disk_backplane0 { "@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0", "@odata.type": "#FabricAdapter.v1_4_0.FabricAdapter", "Id": "disk_backplane0", ... "Ports": { "@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports" }, ... } ```
``` curl -k -X GET https://${bmc}/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports { "@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports", "@odata.type": "#PortCollection.PortCollection", "Members": [ { "@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4" }, { "@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector5" } ], "Members@odata.count": 2, "Name": "Port Collection" } ```
``` curl -k -X GET https://${bmc}:18080/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4 { "@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4", "@odata.type": "#Port.v1_7_0.Port", "Id": "dp0_connector4", "Name": "dp0_connector4" }% ```
Also try the invalid port like
``` curl -k -X GET https://${bmc}:18080/redfish/v1/Systems/system/FabricAdapters/io_module1/Ports/INVALID { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The requested resource of type Port named 'INVALID' was not found.", "MessageArgs": [ "Port", "INVALID" ], "MessageId": "Base.1.16.0.ResourceNotFound", "MessageSeverity": "Critical", "Resolution": "Provide a valid resource identifier and resubmit the request." } ], "code": "Base.1.16.0.ResourceNotFound", "message": "The requested resource of type Port named 'INVALID' was not found." } }% ```
[1] https://redfish.dmtf.org/schemas/v1/PortCollection_v1.xml [2] https://redfish.dmtf.org/schemas/v1/Port_v1.xml [3] https://www.ibm.com/docs/en/power10?topic=details-pcie4-cable-adapter-fc-ej24-ccin-6b92
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I8c64c16764e85c0716e264263708b18f897a2c0c Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
| f86cdd7d | 12-Aug-2025 |
Ed Tanous <etanous@nvidia.com> |
Move common structures
It's ideal if the various BMCWEB_ROUTE lib calls do not call from one another. This reduces the amount of code that's compiled each time separately.
Tested: Code compiles.
Move common structures
It's ideal if the various BMCWEB_ROUTE lib calls do not call from one another. This reduces the amount of code that's compiled each time separately.
Tested: Code compiles.
Change-Id: I4822ce66c122f261cc6aa34bbd99371b7eff48c8 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 3577e446 | 19-Aug-2025 |
Ed Tanous <ed@tanous.net> |
Fix includes
Our includes haven't been enforced by tidy in a while. Run the script, check in the result, minus the false positives.
Change-Id: I6a6da26f5ba5082d9b4aa17cdc9f55ebd8cd41a6 Signed-off-
Fix includes
Our includes haven't been enforced by tidy in a while. Run the script, check in the result, minus the false positives.
Change-Id: I6a6da26f5ba5082d9b4aa17cdc9f55ebd8cd41a6 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 64acd268 | 21-Aug-2025 |
Myung Bae <myungbae@us.ibm.com> |
Refactor Manager Reset Actions
This refactors manager reset action handling codes and also merges the requestRoute function into one. - handleManagerResetAction - handleManagerResetToDefaultsAction
Refactor Manager Reset Actions
This refactors manager reset action handling codes and also merges the requestRoute function into one. - handleManagerResetAction - handleManagerResetToDefaultsAction - handleManagerResetActionInfo
This also rearranges requestRouteManager setup functions into one. - requestRoutesManager - requestRoutesManagerCollection
Tested: - Perform Manager Reset actions - Redfish Service Validator passes
Change-Id: Ia76719d98aac8b871f0f275b0bc99999562fe796 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
| d3616d13 | 12-Aug-2025 |
Alexander Hansen <alexander.hansen@9elements.com> |
Generate update registry
Generate the update registry, needed to return correct error messages from update service.
Change-Id: Ifaa699cad8531070aea47d2476c1834df7c61e08 Signed-off-by: Alexander Han
Generate update registry
Generate the update registry, needed to return correct error messages from update service.
Change-Id: Ifaa699cad8531070aea47d2476c1834df7c61e08 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|