#
08fad5d9
|
| 31-Jul-2025 |
Corey Ethington <cethington@coreweave.com> |
Add check to omit `DateTime` from etag calculation
Ignores any json property named `DateTime` when calculating the etag value of an HTTP response as per the updated Redfish Spec (section 6.5: ETags)
Add check to omit `DateTime` from etag calculation
Ignores any json property named `DateTime` when calculating the etag value of an HTTP response as per the updated Redfish Spec (section 6.5: ETags)
Tested: - Redfish Service Validator passes - Tested on romulus: 1. GET resource with a "DateTime" field ``` curl -k -H "X-Auth-Token: $XAUTH_TOKEN" "https://$BMC/redfish/v1/TaskService" \ --etag-save ./etag.txt -v ... < etag: "6A4CE897" ... { "@odata.id": "/redfish/v1/TaskService", "@odata.type": "#TaskService.v1_1_4.TaskService", "CompletedTaskOverWritePolicy": "Oldest", "DateTime": "2025-07-23T17:08:20+00:00", "Id": "TaskService", "LifeCycleEventOnTaskStateChange": true, "Name": "Task Service", "ServiceEnabled": true, "Status": { "State": "Enabled" }, "Tasks": { "@odata.id": "/redfish/v1/TaskService/Tasks" } ```
2. GET same resource again later, etag is same as before ``` curl -k -H "X-Auth-Token: $XAUTH_TOKEN" "https://$BMC/redfish/v1/TaskService" \ --etag-save ./etag.txt -v ... < etag: "6A4CE897" ... { "@odata.id": "/redfish/v1/TaskService", "@odata.type": "#TaskService.v1_1_4.TaskService", "CompletedTaskOverWritePolicy": "Oldest", "DateTime": "2025-07-23T17:10:48+00:00", "Id": "TaskService", "LifeCycleEventOnTaskStateChange": true, "Name": "Task Service", "ServiceEnabled": true, "Status": { "State": "Enabled" }, "Tasks": { "@odata.id": "/redfish/v1/TaskService/Tasks" } ``` "DateTime" is the only value to have changed, but since it is ignored the etag did not change
3. GET with if-none-match returns 304 ``` curl -k -H "X-Auth-Token: $XAUTH_TOKEN" "https://$BMC/redfish/v1/TaskService" \ --etag-save ./etag.txt --etag-compare ./etag.txt -v ... > if-none-match: "6A4CE897" ... < HTTP/2 304 < allow: GET < odata-version: 4.0 < strict-transport-security: max-age=31536000; includeSubdomains < pragma: no-cache < cache-control: no-store, max-age=0 < x-content-type-options: nosniff < etag: "6A4CE897" < date: Wed, 23 Jul 2025 17:14:39 GMT < content-length: 0 < ... ```
Change-Id: I51f7668e75719c69c55535e4a1e48c8bae7c9488 Signed-off-by: Corey Ethington <cethington@coreweave.com>
show more ...
|
#
0fa34188
|
| 08-Sep-2025 |
Gunnar Mills <gmills@us.ibm.com> |
Revert "Refactor Managers with getValidManagerPath"
This reverts commit 0775449c62385f163a207d0f0c8e1f6338de1062.
CI bumps are failing. Romulus is failing [1].
(UTC) 2025/09/07 07:28:06.903907 -
Revert "Refactor Managers with getValidManagerPath"
This reverts commit 0775449c62385f163a207d0f0c8e1f6338de1062.
CI bumps are failing. Romulus is failing [1].
(UTC) 2025/09/07 07:28:06.903907 - 0.212714 - Executing: get('/redfish/v1/Managers/bmc')
[1]: https://discord.com/channels/775381525260664832/855566794994221117/1414329724477636649
Change-Id: I0ff80780cf1eb2f14484fdd0a521f90cc15e914b Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
0775449c
|
| 22-Aug-2025 |
Myung Bae <myungbae@us.ibm.com> |
Refactor Managers with getValidManagerPath
This adds getValidManagerPath() to find the valid manager dbus path and its service name. This can be used for manager GET and PATCH operations.
Tested: -
Refactor Managers with getValidManagerPath
This adds getValidManagerPath() to find the valid manager dbus path and its service name. This can be used for manager GET and PATCH operations.
Tested: - GET /redfish/v1/Managers/bmc - PATCH /redfish/v1/Managers/ LocationIndicatorActive - Redfish Service Validator passes
Change-Id: Id46dd12be3050a2097364696a471b188b8167016 Signed-off-by: Myung Bae <myungbae@us.ibm.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 ...
|
#
96153bde
|
| 20-Aug-2025 |
Myung Bae <myungbae@us.ibm.com> |
Refactor Managers code
This refactors manager handling code by breaking out the route bodies of codes instead of keeping the large code lines in requestRoute function.
- handleManagerGet - handleMa
Refactor Managers code
This refactors manager handling code by breaking out the route bodies of codes instead of keeping the large code lines in requestRoute function.
- handleManagerGet - handleManagerPatch - handleManagerCollectionGet
Tested: - Compare GET /redfish/v1/Managers before and after the change - Redfish Service Validator passes
Change-Id: Idaa9cc904fd8b42f22389af2230f37e9af05d596 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
#
e30d3345
|
| 24-Jun-2025 |
Corey Ethington <cethington@coreweave.com> |
Add ServiceIdentification
Implements GET and PATCH support for ServiceIdentification in Managers/bmc and service root.
Tested: - Refish Service Validator passes - Tested on romulus: 1. GET initial
Add ServiceIdentification
Implements GET and PATCH support for ServiceIdentification in Managers/bmc and service root.
Tested: - Refish Service Validator passes - Tested on romulus: 1. GET initial value ``` curl -k "https://$BMC/redfish/v1" { ... } ``` ServiceIdentification is not yet present in service root, as expected ``` curl -k -H "X-Auth-Token: $XAUTH_TOKEN" "https://$BMC/redfish/v1/Managers/bmc" { ... "ServiceIdentification": "", ... } ```
2. PATCH and GET with valid value ``` curl -k -X PATCH "https://$BMC/redfish/v1/Managers/bmc" -H "X-Auth-Token: $XAUTH_TOKEN" \ -H 'Content-Type: application/json' --data-raw '{"ServiceIdentification": "foo"}' { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.19.Success", "MessageSeverity": "OK", "Resolution": "None." } ] }
curl -k "https://$BMC/redfish/v1" { ... "ServiceIdentification": "foo", ... }
curl -k -H "X-Auth-Token: $XAUTH_TOKEN" "https://$BMC/redfish/v1/Managers/bmc" { ... "ServiceIdentification": "foo", ... } ```
3. PATCH and GET with invalid value ``` curl -k -X PATCH "https://$BMC/redfish/v1/Managers/bmc" -H "X-Auth-Token: $XAUTH_TOKEN" \ -H 'Content-Type: application/json' --data-raw '{"ServiceIdentification": "$$$"}' { "ServiceIdentification@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The value provided for the property ServiceIdentification is not valid.", "MessageArgs": [ "ServiceIdentification" ], "MessageId": "Base.1.19.PropertyValueError", "MessageSeverity": "Warning", "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." } ] }
curl -k -X PATCH "https://$BMC/redfish/v1/Managers/bmc" -H "X-Auth-Token: $XAUTH_TOKEN" \ -H 'Content-Type: application/json' --data-raw '{"ServiceIdentification": "2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222"}' { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The string 'ServiceIdentification' exceeds the length limit 99.", "MessageArgs": [ "ServiceIdentification", "99" ], "MessageId": "Base.1.19.StringValueTooLong", "MessageSeverity": "Warning", "Resolution": "Resubmit the request with an appropriate string length." } ], "code": "Base.1.19.StringValueTooLong", "message": "The string 'ServiceIdentification' exceeds the length limit 99." } }
curl -k "https://$BMC/redfish/v1" { ... "ServiceIdentification": "foo", ... }
curl -k -H "X-Auth-Token: $XAUTH_TOKEN" "https://$BMC/redfish/v1/Managers/bmc" { ... "ServiceIdentification": "foo", ... } ```
Change-Id: I5b71a73e947ec64cabb8d93c8503a18fb43b8937 Signed-off-by: Corey Ethington <cethington@coreweave.com>
show more ...
|
#
79f3b6a1
|
| 13-May-2021 |
George Liu <liuxiwei@inspur.com> |
Implement LocationIndicatorActive for Manager resource
Implement LocationIndicatorActive for Manager schema to set and get the status of the location LED for the manager.[1] This property was added
Implement LocationIndicatorActive for Manager resource
Implement LocationIndicatorActive for Manager schema to set and get the status of the location LED for the manager.[1] This property was added to the Manager schema in version v1_11_0.
Uses the utility functions getLocationIndicatorActive() and setLocationIndicatorActive() to follow the association and get or set the LED value.
[1] https://redfish.dmtf.org/schemas/v1/Manager.v1_22_0.json
Tested: - Redfish Service Validator passes - Tested on p10bmc hardware simulator: 1. Get LocationIndicatorActive ``` curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Managers/bmc { "@odata.id": "/redfish/v1/Managers/bmc", "@odata.type": "#Manager.v1_14_0.Manager", ... "LocationIndicatorActive": false, "LogServices": { "@odata.id": "/redfish/v1/Managers/bmc/LogServices" }, ... } ```
2. Set LocationIndicatorActive to true ``` curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH -d '{"LocationIndicatorActive":true}' https://${bmc}/redfish/v1/Managers/bmc curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Managers/bmc { "@odata.id": "/redfish/v1/Managers/bmc", "@odata.type": "#Manager.v1_14_0.Manager", ... "LocationIndicatorActive": true, ... } ```
3. Use busctl set-propery to change the value back to false ``` busctl get-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/bmc_ingraham_identify xyz.openbmc_project.Led.Group Asserted b true busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/bmc_ingraham_identify xyz.openbmc_project.Led.Group Asserted b false curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Managers/bmc { "@odata.id": "/redfish/v1/Managers/bmc", "@odata.type": "#Manager.v1_14_0.Manager", ... "LocationIndicatorActive": false, ... } ```
4. Error returned when trying to set the value to non-boolean ``` curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH -d '{"LocationIndicatorActive":1}' https://${bmc}/redfish/v1/Managers/bmc { "LocationIndicatorActive@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The value '1' for the property LocationIndicatorActive is not a type that the property can accept.", "MessageArgs": [ "1", "LocationIndicatorActive" ], "MessageId": "Base.1.19.PropertyValueTypeError", "MessageSeverity": "Warning", "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." } ] } ```
5. Error returned when specifying an unknown Manager resource ``` curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH -d '{"LocationIndicatorActive":true}' https://${bmc}/redfish/v1/Managers/bmc2 { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The requested resource of type Manager named 'bmc2' was not found.", "MessageArgs": [ "Manager", "bmc2" ], "MessageId": "Base.1.19.ResourceNotFound", "MessageSeverity": "Critical", "Resolution": "Provide a valid resource identifier and resubmit the request." } ], "code": "Base.1.19.ResourceNotFound", "message": "The requested resource of type Manager named 'bmc2' was not found." } }
curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Managers/bmc2 { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The requested resource of type Manager named 'bmc2' was not found.", "MessageArgs": [ "Manager", "bmc2" ], "MessageId": "Base.1.19.ResourceNotFound", "MessageSeverity": "Critical", "Resolution": "Provide a valid resource identifier and resubmit the request." } ], "code": "Base.1.19.ResourceNotFound", "message": "The requested resource of type Manager named 'bmc2' was not found." } } ```
Signed-off-by: George Liu <liuxiwei@inspur.com> Signed-off-by: Janet Adkins <janeta@us.ibm.com> Change-Id: I7155e2298962a950491da89e92f8480f98dbeccb
show more ...
|
#
e2cdf06f
|
| 18-Jun-2025 |
Janet Adkins <janeta@us.ibm.com> |
Managers: Factor out large lambdas
Restructure to move large lambdas to named functions for getting the properties for the manager. No semantic changes were made.
Note: I refactored only some of th
Managers: Factor out large lambdas
Restructure to move large lambdas to named functions for getting the properties for the manager. No semantic changes were made.
Note: I refactored only some of the large lambdas in this file and path. The ones I refactored are in the flow for a follow-on commit to add the LocationIndicatorActive Redfish property to the Manager.
``` curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Managers/bmc { "@odata.id": "/redfish/v1/Managers/bmc", "@odata.type": "#Manager.v1_14_0.Manager", ... } ```
Tested: Confirmed same output before and after change.
Change-Id: I350ecbc5add46cfc6356d05b4feb484bb448a323 Signed-off-by: Janet Adkins <janeta@us.ibm.com>
show more ...
|
#
18bf4bf6
|
| 09-May-2025 |
Gunnar Mills <gmills@us.ibm.com> |
Remove ResetToDefaultsType since time
ResetToDefaultsType states remove in 2Q24, it is now 2Q25 so let's do that.
Don't see this used in any of our code.
More of the history can be found on the co
Remove ResetToDefaultsType since time
ResetToDefaultsType states remove in 2Q24, it is now 2Q25 so let's do that.
Don't see this used in any of our code.
More of the history can be found on the commit adding the correct parameter type ResetType [1].
[1]: https://github.com/openbmc/bmcweb/commit/9970e93f794d0110de436828775e333e81330ad5
Tested: Builds. Removes code only, changes a comment. Just a crazy amount of formatting for some reason.
Change-Id: Ic8bc941ac98bec398972de979eef336b9faae21f Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
84aad24d
|
| 27-Jan-2025 |
rohitpai <rohitpai77@gmail.com> |
Redfish OEM Patch Route Handling
Extension of OEM route infra to support registration of handlers for OEM patch requests. When patch request is made on a redfish resource, first the main route handl
Redfish OEM Patch Route Handling
Extension of OEM route infra to support registration of handlers for OEM patch requests. When patch request is made on a redfish resource, first the main route handler will be called and if request patch payload contains any OEM fragments then, registered OEM patch handler will be called.
Tested 1. UT passes with new test cases added for OEM patch handling 2. Patch on FAN OEM property works as expected
``` Step 1: Creating new fan controller... Create PATCH data: { "Oem": { "OpenBmc": { "Fan": { "FanControllers": { "Fan_TEST_391715": { "FFGainCoefficient": 2.0, "Zones": [ { "@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanZones/Zone_1" } ] } } } } } }
HTTP Response Code (PATCH /redfish/v1/Managers/bmc): 200
HTTP Response Code (GET /redfish/v1/Managers/bmc): 200 ✓ Fan controller created successfully
Step 2: Updating the fan controller... Update PATCH data: { "Oem": { "OpenBmc": { "Fan": { "FanControllers": { "Fan_TEST_391715": { "FFGainCoefficient": 3.0 } } } } } }
HTTP Response Code (PATCH /redfish/v1/Managers/bmc): 200
HTTP Response Code (GET /redfish/v1/Managers/bmc): 200
Final Configuration: { "@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanControllers/Fan_TEST_391715", "@odata.type": "#OpenBMCManager.v1_0_0.Manager.FanController", "FFGainCoefficient": 3.0, "Zones": [ { "@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanZones/Zone_1" } ] } ✓ Fan controller updated successfully ```
Test Summary ``` [+] Tests DateTime update after NTP disable. Payload: {DateTime: <date-string>}. Expects: 204 success, validates date matches update.: PASSED [-] Tests invalid property in request. Payload: {InvalidProperty: 'value', DateTime: <date-string>}. Expects: 400 PropertyUnknown error, validates DateTime unchanged.: PASSED [-] Tests fan controller with invalid property. Payload: Oem/OpenBmc/Fan/FanControllers with InvalidProperty. Expects: 400 PropertyUnknown error, fan not created.: PASSED [-] Tests empty PATCH request. Payload: {}. Expects: 400 MalformedJSON error.: PASSED [-] Tests malformed fan controller JSON. Payload: Fan property as string instead of object. Expects: 400 PropertyValueTypeError error.: PASSED [-] Tests DateTime with wrong type. Payload: {DateTime: 12345}. Expects: 400 PropertyValueTypeError error, DateTime unchanged.: PASSED [-] Tests PATCH to invalid manager path. Payload: Valid DateTime and fan update to /invalid_bmc. Expects: 404 ResourceNotFound error.: PASSED [+] Tests fan controller creation. Payload: Oem/OpenBmc/Fan/FanControllers with FFGainCoefficient and Zones. Expects: 200 success with success message.: PASSED [-] Tests fan controller without required Zones. Payload: Oem/OpenBmc/Fan/FanControllers with only FFGainCoefficient. Expects: 500 InternalError, fan not created.: PASSED [+] Tests combined DateTime and fan update. Payload: DateTime and Oem/OpenBmc/Fan/FanControllers. Expects: 200 success with success message.: PASSED [-] Tests PATCH with wrong Content-Type header. Payload: Valid DateTime update with text/plain content-type. Expects: 400 UnrecognizedRequestBody error.: PASSED [+] Tests fan controller creation and update. Payload: Create with FFGainCoefficient=2.0, then update to 3.0. Expects: 200 success for both operations, verifies all properties.: PASSED ```
Change-Id: Ib2498b6a4db0343d5d4a405a5a8e4d78f615bed8 Signed-off-by: Rohit PAI <rohitpai77@gmail.com>
show more ...
|
#
c1a75ebc
|
| 03-Jan-2025 |
rohitpai <rohitpai77@gmail.com> |
OEM Route Handling Infrastructure
Goal of the MR is to provide infrastructure support in bmcweb to manage the OEM fragment handling separately. OEM schema are vendor defined and per DMTF resource we
OEM Route Handling Infrastructure
Goal of the MR is to provide infrastructure support in bmcweb to manage the OEM fragment handling separately. OEM schema are vendor defined and per DMTF resource we could have multiple vendor defined OEM schema to be enabled.
The feature allows registration of route handler per schema per OEM namespace. Example ``` REDFISH_SUB_ROUTE<"/redfish/v1/Managers/<str>/#/Oem/OpenBmc">(service, HttpVerb::Get)(oemOpenBmcCallback); REDFISH_SUB_ROUTE<"/redfish/v1/Managers/<str>/#/Oem/Nvidia">(service, HttpVerb::Get)(oemNidiaCallback); ```
We can have separate vendor defined route handlers per resource. Each of these route handlers can populate their own vendor specific OEM data. The OEM code can be better organized and enabled/disabled as per the platform needs. The current MR has the code changes related to handling GET requests alone. The feature only supports requests where the response payload is JSON.
Tests - All UT cases passes - New UT added for RF OEM router passes - Service Validator passes on qemu - GET Response on Manager/bmc resource contains the OEM fragment
``` curl -c cjar -b cjar -k -X GET https://127.0.0.1:2443/redfish/v1/Managers/bmc { "@odata.id": "/redfish/v1/Managers/bmc", "@odata.type": "#Manager.v1_14_0.Manager",
"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" } } },
"UUID": "40575e98-90d7-4c10-9eb5-8d8a7156c9b9" } ```
Change-Id: Ic82aa5fe760eda31e2792fbdfb6884ac3ea613dc Signed-off-by: Rohit PAI <rohitpai77@gmail.com>
show more ...
|
#
cc67d0a0
|
| 01-Feb-2025 |
rohitpai <rohitpai77@gmail.com> |
Migration of OpenBMC Manager OEM schema
With the support of OEM route infrastructure each OEM implementation can be separated into an OEM route handler. The MR migrates OEM resource of manager resou
Migration of OpenBMC Manager OEM schema
With the support of OEM route infrastructure each OEM implementation can be separated into an OEM route handler. The MR migrates OEM resource of manager resource into new files and route handlers
Tested - All unit tests are passing - GET request on /redfish/v1/Managers/<bmcid> has OpenBMC OEM properties
Change-Id: I935524dcdad6a6cc38a5532b6e7e7ffa1cb0369f Signed-off-by: rohitpai <rohitpai77@gmail.com> Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
504af5a0
|
| 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I2f0b9d0fb6e01ed36a2f34c750ba52de3b6d15d1 Signed-off-by: Patrick Williams <p
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I2f0b9d0fb6e01ed36a2f34c750ba52de3b6d15d1 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
d7857201
|
| 28-Jan-2025 |
Ed Tanous <etanous@nvidia.com> |
Fix includes
Clang-tidy misc-include-cleaner appears to now be enforcing significantly more headers than previously. That is overall a good thing, but forces us to fix some issues. This commit is
Fix includes
Clang-tidy misc-include-cleaner appears to now be enforcing significantly more headers than previously. That is overall a good thing, but forces us to fix some issues. This commit is largely just taking the clang-recommended fixes and checking them in. Subsequent patches will fix the more unique issues.
Note, that a number of new ignores are added into the .clang-tidy file. These can be cleaned up over time as they're understood. The majority are places where boost includes a impl/x.hpp and x.hpp, but expects you to use the later. include-cleaner opts for the impl, but it isn't clear why.
Change-Id: Id3fdd7ee6df6c33b2fd35626898523048dd51bfb Signed-off-by: Ed Tanous <etanous@nvidia.com> Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
40e9b92e
|
| 10-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Use SPDX identifiers
SPDX identifiers are simpler, and reduce the amount of cruft we have in code files. They are recommended by linux foundation, and therefore we should do as they allow.
This pa
Use SPDX identifiers
SPDX identifiers are simpler, and reduce the amount of cruft we have in code files. They are recommended by linux foundation, and therefore we should do as they allow.
This patchset does not intend to modify any intent on any existing copyrights or licenses, only to standardize their inclusion.
[1] https://www.linuxfoundation.org/blog/blog/copyright-notices-in-open-source-software-projects
Change-Id: I935c7c0156caa78fc368c929cebd0f068031e830 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
deae6a78
|
| 11-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Move getProperty calls to utility
Having all dbus calls run through the same utility reduces the amount of generated code, and more importantly, gives us a place where we can log the requests and re
Move getProperty calls to utility
Having all dbus calls run through the same utility reduces the amount of generated code, and more importantly, gives us a place where we can log the requests and responses to help with debugging.
Tested: Redfish service validator passes.
Change-Id: Ic1bf45130b5069cd57f7af26e12c8d3159c87c67 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
fa800c8a
|
| 13-Nov-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Manager: Remove SerialConsole and TODO
In 2020, the OCP Profile moved to accept SerialConsole in either Manager or System.[1]
That was the reason of still having this code. SerialConsole was deprec
Manager: Remove SerialConsole and TODO
In 2020, the OCP Profile moved to accept SerialConsole in either Manager or System.[1]
That was the reason of still having this code. SerialConsole was deprecated in Manager v1_10_0. v1_19_2 is the latest Manager version[2].
SerialConsole was added to System in 2021[3]. In 2023, SerialConsole was enhanced to get the status not just hardcode to enabled.
[1]: https://github.com/opencomputeproject/HWMgmt-OCP-Profiles/issues/23 [2]: https://redfish.dmtf.org/schemas/v1/Manager.v1_19_2.json [3]: https://github.com/openbmc/bmcweb/commit/0e8ac5e706c531d2a3e2fc8390d9a31b90a91eb1 [4]: https://github.com/openbmc/bmcweb/commit/5c3e927283e32e1633ccd409f34ee17fab626ca1
Tested: Covered by automated tests.
Change-Id: I0a95e9215d4aa4626a3da75c989cb7d5eaf94be1 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
d27c31e9
|
| 15-Oct-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
update service name for UPDATESERVICE_USE_DBUS
Update the Dbus service name and path for BMCWEB_REDFISH_UPDATESERVICE_USE_DBUS. As part of updated implementation the new BMC code updater daemon name
update service name for UPDATESERVICE_USE_DBUS
Update the Dbus service name and path for BMCWEB_REDFISH_UPDATESERVICE_USE_DBUS. As part of updated implementation the new BMC code updater daemon name is xyz.openbmc_project.Software.Manager, update setActiveImage and FactoryReset flows to reflect so.
Tested: ``` > curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Managers/bmc/Actions/Manager.ResetToDefaults -d '{"ResetType": "ResetAll"}' { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.19.0.Success", "MessageSeverity": "OK", "Resolution": "None." } ] }
> curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH https://${bmc}/redfish/v1/Managers/bmc -d '{"Links": {"ActiveSoftwareImage": {"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/70f4c0cb"}}}' { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.19.0.Success", "MessageSeverity": "OK", "Resolution": "None." } ] } ```
Change-Id: I42ef2485fa119474b7fd12ea94dd654c3432c067 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
#
afc474ae
|
| 09-Oct-2024 |
Myung Bae <myungbae@us.ibm.com> |
Format readjson
clang-format may potentially reformat the readJson calls if they may have more keys or key names are longer. This makes formatting in a way that's readable by forcing to break a line
Format readjson
clang-format may potentially reformat the readJson calls if they may have more keys or key names are longer. This makes formatting in a way that's readable by forcing to break a line for each key using an empty-comment (`//`) each line.
It also allows trivially alphabetizing the list such that new additions are less likely to have merge conflicts.
Tested: - Check whitespace only. - Code compiles. - Redfish Service Validator with the same results before this
Change-Id: I3824a8c4faa9fa7c820d5d2fab6b565404926e2c Signed-off-by: Ed Tanous <etanous@nvidia.com> Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
#
6be832e2
|
| 10-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Remove duplicated block comments
Static analysis flags that these two comments are redundant[1], which seem to be duplicated a lot in copyright headers. Although there is a larger discussion that c
Remove duplicated block comments
Static analysis flags that these two comments are redundant[1], which seem to be duplicated a lot in copyright headers. Although there is a larger discussion that can likely be had.
[1] https://sonarcloud.io/project/issues?issueStatuses=OPEN%2CCONFIRMED&id=edtanous_bmcweb&open=AY9_HYjgKXKyw1ZFwgVP
Tested: Comment change only. Code compiles.
Change-Id: Ia960317761f558a87842347ca0b5f3da63f8e730 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
bd79bce8
|
| 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: Iceec1dc95b6c908ec6c21fb40093de9dd18bf11a Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
539d8c6b
|
| 19-Jun-2024 |
Ed Tanous <ed@tanous.net> |
Consistently use generated enumerations
This commit causes all of Redfish to use generated enum values for enum types. Using generated code prevents problems, and makes it more clear what types are
Consistently use generated enumerations
This commit causes all of Redfish to use generated enum values for enum types. Using generated code prevents problems, and makes it more clear what types are allowed.
Doing this found two places where we had structs that didn't fulfill the schema. They have been commented, but will be fixed with a breaking change at some point in the future.
Tested: WIP
Change-Id: I5fdd2f2dfb6ec05606a522e1f4e331f982c8e476 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
fc1cdd14
|
| 11-Jul-2024 |
Ed Tanous <ed@tanous.net> |
Fix OpenBMC OEMManager
The OpenBMC OEM schemas have had many things wrong since their creation, to the point where nobody could be using them to generate values. This commit fixes the issues, namel
Fix OpenBMC OEMManager
The OpenBMC OEM schemas have had many things wrong since their creation, to the point where nobody could be using them to generate values. This commit fixes the issues, namely. OemManager schema and namespace are renamed to OpenBMCManager, in line with the Redfish specification around OEM naming conventions. OpenBMCManager now includes versions, which is a partial fix for #184. json-schemas are regenerated from the CSDL to json script in Redfish-Tools, rather than being handmade. This also introduces versions in the json-schema.
Tested: Redfish service validator passes.
Change-Id: I18f7d0445105a361775c04ae614d6ae2e297bbf6 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
91f75caf
|
| 10-Jun-2024 |
Ed Tanous <ed@tanous.net> |
Fix regression in Manager chassis finding
18f8f60 introduced two regressions where the config was checking parent_path() instead of filename, where previously they used ends_with, not starts_with.
Fix regression in Manager chassis finding
18f8f60 introduced two regressions where the config was checking parent_path() instead of filename, where previously they used ends_with, not starts_with. This was found via inspection.
Testing: Unclear how to exactly test this, but we should at least get the code to appear correct in inspection.
[1] https://github.com/openbmc/bmcweb/commit/18f8f608b966c802b3e2a389e3c1ec5a1fd9407b#diff-c49b52746d73fb038cb7892f9204d663efd1b9e4fa6b4dac38c5c9620b2c2944R1495
Change-Id: I45441a6e1549f09e7a570c74d3ee4438ecc07cbe Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|