History log of /openbmc/bmcweb/features/redfish/lib/managers.hpp (Results 1 – 25 of 189)
Revision Date Author Comments
# 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 ...


12345678