History log of /openbmc/bmcweb/redfish-core/ (Results 1 – 25 of 2178)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
414817eb10-Feb-2026 Ramya Sivakumar <sramya@ami.com>

redfish: Remove unnecessary nested braces in trigger.hpp

Remove redundant curly braces around the error logging and return
statement in the getMetricReportDefinitions function. The extra
braces serv

redfish: Remove unnecessary nested braces in trigger.hpp

Remove redundant curly braces around the error logging and return
statement in the getMetricReportDefinitions function. The extra
braces served no purpose

Tested: Code compiles without errors

Change-Id: I9be65c5bbcad5ad6f3102ca25aef94f321175bfd
Signed-off-by: Ramya Sivakumar <sramya@ami.com>

show more ...

ea4f4e8b10-Feb-2026 Ed Tanous <ed@tanous.net>

Fix the build for sensors

Not clear how this made through CI.

Change-Id: If9fc33916e3c44c0937ce24acaeb39f089ae910d
Signed-off-by: Ed Tanous <etanous@nvidia.com>

478c426c03-Sep-2025 Brad Bishop <bradbish@qti.qualcomm.com>

Use boost::urls::format

boost::urls::format is specifically meant for URL construction. It
handles encoding like percentage encoding which std::format and string
concatenation does not.

Tested: Ran

Use boost::urls::format

boost::urls::format is specifically meant for URL construction. It
handles encoding like percentage encoding which std::format and string
concatenation does not.

Tested: Ran unit tests. Injected BMC dump and ran redfish validator
against BMC dump service with populated BMC dump entry. Downloaded BMC
dump attachment.
Change-Id: I86767bea85b76f9a62d7612adbeca4c796ac0f95
Signed-off-by: Brad Bishop <bradbish@qti.qualcomm.com>

show more ...

433c919329-Oct-2025 Janet Adkins <janeta@us.ibm.com>

Sensors: Convert fan_tach sensors to Percent

Redfish 2025.3 clarified the reporting of fan sensors should always be
as ReadingType Percent to address issue #6197. [1] The fan_tach
sensors on D-Bus a

Sensors: Convert fan_tach sensors to Percent

Redfish 2025.3 clarified the reporting of fan sensors should always be
as ReadingType Percent to address issue #6197. [1] The fan_tach
sensors on D-Bus are Rotational sensors. Conversion is necessary for
these sensor values to reflect Percent instead. [2] This is reflected in
a published mockup. [3]

The Redfish update includes an additional sentence for the ReadingType
description:

```
"... Services should represent fan speed and pump speed sensors with the `ReadingType` value `Percent`."
```

The ReadingRangeMax and ReadingRangeMin properties also must be
converted to percent basis as they are defined to reflect the range of
the Reading property.

```
curl -s https://redfish.dmtf.org/schemas/v1/Sensor.v1_11_1.json | jq .definitions.Sensor.properties.ReadingRangeMax.longDescription
"This property shall indicate the maximum possible value of the `Reading` property for this sensor. This value is the range of valid readings for this sensor. Values outside this range are discarded as reading errors."
```

A new compile option, redfish-allow-rotational-fans, will maintain the
old behavior of reporting fan_tach sensors as Rotational. When the
option is disabled they will be reported as Percent. This will allow
time for distributions to make adjustments to handle Percent reported
fan sensors.

The SpeedRPM Redfish property contains the RPM value for these sensors
whether this option is enabled or disabled. Clients wanting to use the
RPM value should convert to use the SpeedRPM property instead of the
Reading property.

```
curl -s https://redfish.dmtf.org/schemas/v1/Sensor.v1_11_1.json | jq .definitions.Sensor.properties.SpeedRPM
{
"description": "The rotational speed.",
"excerpt": "SensorFan,SensorFanArray,SensorPump",
"longDescription": "This property shall contain a reading of the rotational speed of the device in revolutions per minute (RPM) units.",
"readonly": true,
"type": [
"number",
"null"
],
"units": "{rev}/min",
"versionAdded": "v1_2_0"
}
```

With the compile option disabled the following differences will be
reflected in the responses for /redfish/v1/Chassis/chassis/Sensors/{}:
- ReadingRangeMax/ReadingRangeMin: Converted to percent range, (100,0)
- ReadingType: "Percent"
- ReadingUnits: "%"
- Reading: Computed percent value. The computation is the percent of
the RPM Value within the MaxValue to MinValue range as reported by
D-Bus for the sensor.
- Note: If the percent cannot be computed for any reason the Reading
property is set to null.
- Note: SpeedRPM: Remains unchanged, it continues to report the RPM
value as reported by D-Bus.

Implementation Notes:
- The SensorFanExcerpt and SensorFanArrayExcerpt definitions also
include the SpeedRPM property. So moved setting of this property to
be handled for excerpts as well.
- The Sensor schema version has been updated regardless of the compile
option setting.

[1] https://github.com/DMTF/Redfish/issues/6197
[2] https://redfish.dmtf.org/schemas/v1/Sensor.v1_11_1.json
[3] https://github.com/DMTF/Redfish-Publications/blob/main/mockups/public-rackmount1/Chassis/1U/Sensors/CPUFan1/index.json

Tested:
- Added new unit tests for new function getFanPercent()
- Adjusted existing unit tests for Sensors to reflect changes for
fan_tach sensors.
- Redfish Service Validator passes (with option enabled and disabled)
- Using hardware simulator hand-edited values for the min/max of the
fan_tach sensors:
- Option enabled: confirmed Redfish response same before and after
code changes.
- Option disabled: Confirmed Redfish responses and percent
calculation.

Example responses with compile option disabled:
```
// D-Bus: "Value" d 18000 "MaxValue" d 18000 "MinValue" d 0
curl -s -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Sensors/fantach_fan0_0
{
"@odata.id": "/redfish/v1/Chassis/chassis/Sensors/fantach_fan0_0",
"@odata.type": "#Sensor.v1_11_1.Sensor",
"Id": "fantach_fan0_0",
"Name": "fan0 0",
"Reading": 100,
"ReadingRangeMax": 100,
"ReadingRangeMin": 0,
"ReadingType": "Percent",
"ReadingUnits": "%",
"SpeedRPM": 18000.0,
"Status": {
"Health": "OK",
"State": "Enabled"
}
}

// D-Bus: "Value" d 18000 "MaxValue" d 36000 "MinValue" d 0
curl -s -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Sensors/fantach_fan1_0
{
"@odata.id": "/redfish/v1/Chassis/chassis/Sensors/fantach_fan1_0",
"@odata.type": "#Sensor.v1_11_1.Sensor",
"Id": "fantach_fan1_0",
"Name": "fan1 0",
"Reading": 50,
"ReadingRangeMax": 100,
"ReadingRangeMin": 0,
"ReadingType": "Percent",
"ReadingUnits": "%",
"SpeedRPM": 18000.0,
"Status": {
"Health": "OK",
"State": "Enabled"
}
}

// Minimum is non-zero
// D-Bus: "Value" d 18000 "MaxValue" d 27000 "MinValue" d 9000
curl -s -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Sensors/fantach_fan2_0
{
"@odata.id": "/redfish/v1/Chassis/chassis/Sensors/fantach_fan2_0",
"@odata.type": "#Sensor.v1_11_1.Sensor",
"Id": "fantach_fan2_0",
"Name": "fan2 0",
"Reading": 50,
"ReadingRangeMax": 100,
"ReadingRangeMin": 0,
"ReadingType": "Percent",
"ReadingUnits": "%",
"SpeedRPM": 18000.0,
"Status": {
"Health": "OK",
"State": "Enabled"
}
}

// Minimum is not initialized - Reading is null
// D-Bus: "Value" d 18000 "MaxValue" d 18000 "MinValue" d -inf
curl -s -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Sensors/fantach_fan3_0
{
"@odata.id": "/redfish/v1/Chassis/chassis/Sensors/fantach_fan3_0",
"@odata.type": "#Sensor.v1_11_1.Sensor",
"Id": "fantach_fan3_0",
"Name": "fan3 0",
"Reading": null,
"ReadingRangeMax": 100,
"ReadingRangeMin": 0,
"ReadingType": "Percent",
"ReadingUnits": "%",
"SpeedRPM": 18000.0,
"Status": {
"Health": "OK",
"State": "Enabled"
}
}

// Minimum and Maximum are not initialized - so Reading is null
// D-Bus: "Value" d 18000 "MaxValue" d inf "MinValue" d -inf
curl -s -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Sensors/fantach_fan4_0
{
"@odata.id": "/redfish/v1/Chassis/chassis/Sensors/fantach_fan4_0",
"@odata.type": "#Sensor.v1_11_1.Sensor",
"Id": "fantach_fan4_0",
"Name": "fan4 0",
"Reading": null,
"ReadingRangeMax": 100,
"ReadingRangeMin": 0,
"ReadingType": "Percent",
"ReadingUnits": "%",
"SpeedRPM": 18000.0,
"Status": {
"Health": "OK",
"State": "Enabled"
}
}
```

Example of unchanged response with compile option enabled:
```
curl -s -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Sensors/fantach_fan0_0
{
"@odata.id": "/redfish/v1/Chassis/chassis/Sensors/fantach_fan0_0",
"@odata.type": "#Sensor.v1_11_1.Sensor",
"Id": "fantach_fan0_0",
"Name": "fan0 0",
"Reading": 18000.0,
"ReadingRangeMax": 18000.0,
"ReadingRangeMin": 0.0,
"ReadingType": "Rotational",
"ReadingUnits": "RPM",
"SpeedRPM": 18000.0,
"Status": {
"Health": "OK",
"State": "Enabled"
}
}
```

Change-Id: I8ec1e739bcd5ebce7453a2570569f2edc2284341
Signed-off-by: Janet Adkins <janeta@us.ibm.com>

show more ...

3132dace07-Oct-2025 Harshit Aghera <haghera@nvidia.com>

Fabric: add support for PCIe Switch Port URI

This patch enable support for following properties for Port of a PCIe
Switch. [1]
- PortProtocol
- PortType
- CurrentSpeedGbps
- ActiveWidth

One of the

Fabric: add support for PCIe Switch Port URI

This patch enable support for following properties for Port of a PCIe
Switch. [1]
- PortProtocol
- PortType
- CurrentSpeedGbps
- ActiveWidth

One of the devices that gets enabled with this patch is Nvidia ConnectX
devices, which are network cards featuring an integrated PCIe switch.
These devices combine both PCIe ports and network ports in a single
unit. Since such devices don't strictly qualify as Fabric Adapters, the
Switch URI is used instead of the FabricAdapter URI.

Port schema only allows certain URIs as Port URI. URI
/redfish/v1/Fabrics/{FabricId}/Switches/{SwitchId}/Ports/{PortId} seems
most appropriate choice for PCIe Switch Port. [1]

The Fabric resource is modeled similarly to the System resource, meaning
that only one Fabric resource will exist for each BMC. Route handler for
collections and each individual components are added in this patch for
each URI resource under /redfish/v1/Fabrics.

DBus Interface "xyz.openbmc_project.Inventory.Item.PCIeSwitch" is used
to identify the Switch resources. Association between Switch and Port is
`connecting` and `connected_to`.

Feature like Port Metrics properties (for PCIe Error Counters) can be
added in future at Port Metric URI.

dbus-sensors patches -
https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/84079
https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/83202

Tested: Build an image for nvl32-obmc machine with the following patch
cherry picked.

https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/84079
https://gerrit.openbmc.org/c/openbmc/openbmc/+/85490

The openbmc patch cherry-picks the following patches that are currently
under review.

```
1. device tree
https://lore.kernel.org/all/aRbLqH8pLWCQryhu@molberding.nvidia.com/
2. mctpd patches
https://github.com/CodeConstruct/mctp/pull/85
3. u-boot changes
https://lore.kernel.org/openbmc/20251121-msx4-v1-0-fc0118b666c1@nvidia.com/T/#t
4. kernel changes as specified in the openbmc patch (for espi)
5. entity-manager changes
https://gerrit.openbmc.org/c/openbmc/entity-manager/+/85455
6. platform-init changes
https://gerrit.openbmc.org/c/openbmc/platform-init/+/85456
7. spi changes
https://lore.kernel.org/all/20251121-w25q01jv_fixup-v1-1-3d175050db73@nvidia.com/
```

redfish service validator is passing.

```
$ curl -k -u 'root:0penBmc' https://${bmc_ip}/redfish/v1/Fabrics/
{
"@odata.id": "/redfish/v1/Fabrics",
"@odata.type": "#FabricCollection.FabricCollection",
"Members": [
{
"@odata.id": "/redfish/v1/Fabrics/fabric"
}
],
"Members@odata.count": 1,
"Name": "Fabric Collection"
}%

$ curl -k -u 'root:0penBmc' https://${bmc_ip}/redfish/v1/Fabrics/fabric/
{
"@odata.id": "/redfish/v1/Fabrics/fabric",
"@odata.type": "#Fabric.v1_2_0.Fabric",
"Id": "fabric",
"Name": "fabric Fabric",
"Switches": {
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches"
}
}%

$ curl -k -u 'root:0penBmc' https://${bmc_ip}/redfish/v1/Fabrics/fabric/Switches/
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches",
"@odata.type": "#SwitchCollection.SwitchCollection",
"Members": [
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0"
},
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_1"
},
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_2"
},
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_3"
}
],
"Members@odata.count": 4,
"Name": "fabric Switch Collection"
}%

$ curl -k -u 'root:0penBmc' https://${bmc_ip}/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0",
"@odata.type": "#Switch.v1_7_0.Switch",
"Id": "Nvidia_ConnectX_0",
"Name": "Nvidia_ConnectX_0",
"Ports": {
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0/Ports"
},
"Status": {
"Health": "OK",
"State": "Enabled"
}
}%

$ curl -k -u 'root:0penBmc' https://${bmc_ip}/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0/Ports/
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0/Ports",
"@odata.type": "#PortCollection.PortCollection",
"Members": [
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0/Ports/DOWN_0"
},
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0/Ports/DOWN_1"
},
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0/Ports/UP_0"
}
],
"Members@odata.count": 3,
"Name": "Nvidia_ConnectX_0 Port Collection"
}%

$ curl -k -u 'root:0penBmc' https://${bmc_ip}/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0/Ports/UP_0/
{
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0/Ports/UP_0",
"@odata.type": "#Port.v1_4_0.Port",
"ActiveWidth": 8,
"CurrentSpeedGbps": 32.0,
"Id": "UP_0",
"Metrics": {
"@odata.id": "/redfish/v1/Fabrics/fabric/Switches/Nvidia_ConnectX_0/Ports/UP_0/Metrics"
},
"Name": "Nvidia_ConnectX_0 UP_0 Port",
"PortProtocol": "PCIe",
"PortType": "UpstreamPort",
"Status": {
"Health": "OK",
"State": "Enabled"
}
}%
```

[1]: https://redfish.dmtf.org/schemas/v1/Port_v1.xml

Change-Id: I52f4ca62b4953f6196c589e340602a0d7885d9c1
Signed-off-by: Harshit Aghera <haghera@nvidia.com>

show more ...

8740f42a30-Jan-2026 Ramya Sivakumar <sramya@ami.com>

memory.hpp: Correct spelling of volatileRegionMaxSizeInKiB

Correct the misspelled variable name 'voltaileRegionMaxSizeInKib' to
'volatileRegionMaxSizeInKiB' for consistency and clarity. The typo
was

memory.hpp: Correct spelling of volatileRegionMaxSizeInKiB

Correct the misspelled variable name 'voltaileRegionMaxSizeInKib' to
'volatileRegionMaxSizeInKiB' for consistency and clarity. The typo
was missing the letter 't' in 'volatile' and had inconsistent
capitalization ('Kib' vs 'KiB')

Tested: code compile done.No functional change

Change-Id: Ie5b49e6541f4cf0000a5176669017c187c6822d2
Signed-off-by: Ramya Sivakumar <sramya@ami.com>

show more ...

76c2ad6403-Feb-2023 Ed Tanous <ed@tanous.net>

Remove usages of nlohmann::json::begin()

nlohmann::json::begin() throws an uncaught exception.

Tested: Redfish service validator passes.

Signed-off-by: Ed Tanous <ed@tanous.net>
Change-Id: I08244b

Remove usages of nlohmann::json::begin()

nlohmann::json::begin() throws an uncaught exception.

Tested: Redfish service validator passes.

Signed-off-by: Ed Tanous <ed@tanous.net>
Change-Id: I08244b0787cd4d6e592b0731196490a5160aba62

show more ...

ac69e77e26-Jan-2026 Gunnar Mills <gmills@us.ibm.com>

Move clang-off / clang-on to catch scope

As a comment in https://gerrit.openbmc.org/c/openbmc/bmcweb/+/86868
suggested "You might also consider moving this up a line so you catch
the scope on both s

Move clang-off / clang-on to catch scope

As a comment in https://gerrit.openbmc.org/c/openbmc/bmcweb/+/86868
suggested "You might also consider moving this up a line so you catch
the scope on both sides."

This enforces just the slightest bit more clang-format.

Rerun script.

Tested: Builds. Manual changes to script only. Rest generated.

Change-Id: I8ff01befc56c576716f5d83bd90763354b1ff0c5
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...


include/generated/enums/acceleration_function.hpp
include/generated/enums/account_service.hpp
include/generated/enums/action_info.hpp
include/generated/enums/aggregation_source.hpp
include/generated/enums/allow_deny.hpp
include/generated/enums/attribute_registry.hpp
include/generated/enums/automation_node.hpp
include/generated/enums/battery.hpp
include/generated/enums/cable.hpp
include/generated/enums/certificate.hpp
include/generated/enums/certificate_enrollment.hpp
include/generated/enums/chassis.hpp
include/generated/enums/circuit.hpp
include/generated/enums/collection_capabilities.hpp
include/generated/enums/component_integrity.hpp
include/generated/enums/composition_service.hpp
include/generated/enums/computer_system.hpp
include/generated/enums/connection.hpp
include/generated/enums/connection_method.hpp
include/generated/enums/container_image.hpp
include/generated/enums/control.hpp
include/generated/enums/coolant_connector.hpp
include/generated/enums/cooling_loop.hpp
include/generated/enums/cooling_unit.hpp
include/generated/enums/cxl_logical_device.hpp
include/generated/enums/drive.hpp
include/generated/enums/endpoint.hpp
include/generated/enums/endpoint_group.hpp
include/generated/enums/ethernet_interface.hpp
include/generated/enums/event.hpp
include/generated/enums/event_destination.hpp
include/generated/enums/event_service.hpp
include/generated/enums/external_account_provider.hpp
include/generated/enums/facility.hpp
include/generated/enums/host_interface.hpp
include/generated/enums/ip_addresses.hpp
include/generated/enums/job.hpp
include/generated/enums/job_document.hpp
include/generated/enums/job_service.hpp
include/generated/enums/key.hpp
include/generated/enums/key_policy.hpp
include/generated/enums/leak_detector.hpp
include/generated/enums/license.hpp
include/generated/enums/license_service.hpp
include/generated/enums/log_entry.hpp
include/generated/enums/log_service.hpp
include/generated/enums/manager.hpp
include/generated/enums/manager_account.hpp
include/generated/enums/manager_network_protocol.hpp
include/generated/enums/manifest.hpp
include/generated/enums/media_controller.hpp
include/generated/enums/memory.hpp
include/generated/enums/memory_chunks.hpp
include/generated/enums/memory_region.hpp
include/generated/enums/message_registry.hpp
include/generated/enums/metric_definition.hpp
include/generated/enums/metric_report_definition.hpp
include/generated/enums/network_device_function.hpp
include/generated/enums/network_port.hpp
include/generated/enums/open_bmc_computer_system.hpp
include/generated/enums/operating_system.hpp
include/generated/enums/outbound_connection.hpp
include/generated/enums/outlet.hpp
include/generated/enums/outlet_group.hpp
include/generated/enums/pcie_device.hpp
include/generated/enums/pcie_function.hpp
include/generated/enums/pcie_slots.hpp
include/generated/enums/physical_context.hpp
include/generated/enums/port.hpp
include/generated/enums/power.hpp
include/generated/enums/power_distribution.hpp
include/generated/enums/power_supply.hpp
include/generated/enums/privileges.hpp
include/generated/enums/processor.hpp
include/generated/enums/protocol.hpp
include/generated/enums/pump.hpp
include/generated/enums/redfish_extensions.hpp
include/generated/enums/redundancy.hpp
include/generated/enums/registered_client.hpp
include/generated/enums/reservoir.hpp
include/generated/enums/resolution_step.hpp
include/generated/enums/resource.hpp
include/generated/enums/resource_block.hpp
include/generated/enums/schedule.hpp
include/generated/enums/secure_boot.hpp
include/generated/enums/secure_boot_database.hpp
include/generated/enums/sensor.hpp
include/generated/enums/serial_interface.hpp
include/generated/enums/session.hpp
include/generated/enums/settings.hpp
include/generated/enums/signature.hpp
include/generated/enums/software_inventory.hpp
include/generated/enums/storage.hpp
include/generated/enums/storage_controller.hpp
include/generated/enums/switch.hpp
include/generated/enums/task.hpp
include/generated/enums/task_service.hpp
include/generated/enums/telemetry_data.hpp
include/generated/enums/telemetry_service.hpp
include/generated/enums/thermal.hpp
include/generated/enums/triggers.hpp
include/generated/enums/trusted_component.hpp
include/generated/enums/update_service.hpp
include/generated/enums/v_lan_network_interface.hpp
include/generated/enums/virtual_media.hpp
include/generated/enums/virtual_pci2_pci_bridge.hpp
include/generated/enums/volume.hpp
include/generated/enums/zone.hpp
/openbmc/bmcweb/scripts/generate_schema_enums.py
6bb8c60826-Jan-2026 Gunnar Mills <gmills@us.ibm.com>

Rename switch namespace

switch is a reserved keyword in C++.. Therefore "namespace switch" is
illegal C++ code.

Add a couple lines of python code to check for keywords and then rename
with a rf_ at

Rename switch namespace

switch is a reserved keyword in C++.. Therefore "namespace switch" is
illegal C++ code.

Add a couple lines of python code to check for keywords and then rename
with a rf_ at the front, e.g. namespace rf_switch.

Rerun the script update_schemas.py script.

This showed downstream, but probably would have upstream too.

```
switch.hpp:8:11: error: expected identifier or '{' [clang-diagnostic-error]
8 | namespace switch
| ^
.../bmcweb/redfish-core/include/generated/enums/switch.hpp:8:11: error: expected unqualified-id [clang-diagnostic-error]

...

FAILED: meson-internal__clang-tidy-fix
```

Change-Id: I58be67fc0df6e5056e63da5302724e6509b7114b
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...

5e6fd37423-Jan-2026 Ramya Sivakumar <sramya@ami.com>

Fix variable naming convention in afterGetUUID

Rename uUID to uuid to follow standard C++ camelCase naming
conventions for local variables. This improves code consistency
and readability

Tested:

Fix variable naming convention in afterGetUUID

Rename uUID to uuid to follow standard C++ camelCase naming
conventions for local variables. This improves code consistency
and readability

Tested:
- Built successfully with no compilation errors
- No behavioral changes, purely a refactoring commit

Change-Id: I9d72a184138dd5e4123579d04c1d5e25ed1f2b09
Signed-off-by: Ramya Sivakumar <sramya@ami.com>

show more ...

1937681e23-Jan-2026 Ramya Sivakumar <sramya@ami.com>

PCIe: Fix typo in variable name pciecDeviceName

Rename variable from 'pciecDeviceName' to 'pcieDeviceName' to correct
the typo (extra 'c'). This improves code readability and follows
proper naming c

PCIe: Fix typo in variable name pciecDeviceName

Rename variable from 'pciecDeviceName' to 'pcieDeviceName' to correct
the typo (extra 'c'). This improves code readability and follows
proper naming conventions

No functional change

Change-Id: Iaae7c6a0b3ac725fd393cc7db4a0f7ddd9457198
Signed-off-by: Ramya Sivakumar <sramya@ami.com>

show more ...

9dec964e20-Jan-2026 Gunnar Mills <gmills@us.ibm.com>

Move to Redfish 2025.4

One line change and rerun the script. 2025.4 includes new properties.
One use case is for Redundancy. For the complete overview see [1].

Tested: Visual and build only. In the

Move to Redfish 2025.4

One line change and rerun the script. 2025.4 includes new properties.
One use case is for Redundancy. For the complete overview see [1].

Tested: Visual and build only. In the past these have not broken things.

[1]: https://www.dmtf.org/sites/default/files/Redfish_Release_2025.4_Overview.pdf

Change-Id: Icaf710eaa99816264993a964ef9dd8a7f5e7722a
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...


include/generated/enums/circuit.hpp
include/generated/enums/drive.hpp
include/generated/enums/port.hpp
include/generated/enums/protocol.hpp
include/generated/enums/storage.hpp
include/generated/enums/switch.hpp
schema/dmtf/csdl/AccountService_v1.xml
schema/dmtf/csdl/AllowDeny_v1.xml
schema/dmtf/csdl/Application_v1.xml
schema/dmtf/csdl/Assembly_v1.xml
schema/dmtf/csdl/CertificateCollection_v1.xml
schema/dmtf/csdl/CertificateEnrollment_v1.xml
schema/dmtf/csdl/CertificateService_v1.xml
schema/dmtf/csdl/Certificate_v1.xml
schema/dmtf/csdl/Chassis_v1.xml
schema/dmtf/csdl/Circuit_v1.xml
schema/dmtf/csdl/ComputerSystem_v1.xml
schema/dmtf/csdl/Connection_v1.xml
schema/dmtf/csdl/ContainerImage_v1.xml
schema/dmtf/csdl/Container_v1.xml
schema/dmtf/csdl/Control_v1.xml
schema/dmtf/csdl/CoolingLoop_v1.xml
schema/dmtf/csdl/CoolingUnit_v1.xml
schema/dmtf/csdl/Drive_v1.xml
schema/dmtf/csdl/EndpointGroup_v1.xml
schema/dmtf/csdl/EventDestination_v1.xml
schema/dmtf/csdl/EventService_v1.xml
schema/dmtf/csdl/Event_v1.xml
schema/dmtf/csdl/ExternalAccountProvider_v1.xml
schema/dmtf/csdl/FabricAdapter_v1.xml
schema/dmtf/csdl/Fan_v1.xml
schema/dmtf/csdl/Filter_v1.xml
schema/dmtf/csdl/GraphicsController_v1.xml
schema/dmtf/csdl/Heater_v1.xml
schema/dmtf/csdl/KeyPolicy_v1.xml
schema/dmtf/csdl/LeakDetection_v1.xml
schema/dmtf/csdl/LeakDetectorCollection_v1.xml
schema/dmtf/csdl/LeakDetector_v1.xml
schema/dmtf/csdl/LogEntry_v1.xml
schema/dmtf/csdl/LogService_v1.xml
schema/dmtf/csdl/ManagerAccount_v1.xml
schema/dmtf/csdl/ManagerNetworkProtocol_v1.xml
schema/dmtf/csdl/Manager_v1.xml
schema/dmtf/csdl/MediaController_v1.xml
schema/dmtf/csdl/Memory_v1.xml
schema/dmtf/csdl/NetworkAdapter_v1.xml
schema/dmtf/csdl/NetworkDeviceFunction_v1.xml
schema/dmtf/csdl/OperatingConfig_v1.xml
schema/dmtf/csdl/OperatingSystem_v1.xml
schema/dmtf/csdl/PCIeDevice_v1.xml
schema/dmtf/csdl/PCIeFunction_v1.xml
schema/dmtf/csdl/PortMetrics_v1.xml
schema/dmtf/csdl/Port_v1.xml
schema/dmtf/csdl/PowerDistribution_v1.xml
schema/dmtf/csdl/PowerSupplyMetrics_v1.xml
schema/dmtf/csdl/PowerSupply_v1.xml
schema/dmtf/csdl/Processor_v1.xml
schema/dmtf/csdl/Protocol_v1.xml
schema/dmtf/csdl/Pump_v1.xml
schema/dmtf/csdl/Redundancy_v1.xml
schema/dmtf/csdl/RegisteredClient_v1.xml
schema/dmtf/csdl/Reservoir_v1.xml
schema/dmtf/csdl/ResolutionStep_v1.xml
schema/dmtf/csdl/RouteEntry_v1.xml
schema/dmtf/csdl/RouteSetEntry_v1.xml
schema/dmtf/csdl/Sensor_v1.xml
schema/dmtf/csdl/ServiceRoot_v1.xml
schema/dmtf/csdl/StorageController_v1.xml
schema/dmtf/csdl/StorageMetrics_v1.xml
schema/dmtf/csdl/Storage_v1.xml
schema/dmtf/csdl/SwitchMetrics_v1.xml
schema/dmtf/csdl/Switch_v1.xml
schema/dmtf/csdl/TaskService_v1.xml
schema/dmtf/csdl/TelemetryData_v1.xml
schema/dmtf/csdl/ThermalSubsystem_v1.xml
schema/dmtf/csdl/USBController_v1.xml
schema/dmtf/csdl/UpdateServiceCapabilities_v1.xml
schema/dmtf/csdl/VCATEntry_v1.xml
schema/dmtf/csdl/VirtualPCI2PCIBridge_v1.xml
schema/dmtf/json-schema-installed/AccountService.v1_18_1.json
schema/dmtf/json-schema-installed/Assembly.v1_6_1.json
schema/dmtf/json-schema-installed/CertificateService.v1_2_1.json
schema/dmtf/json-schema-installed/ComputerSystem.v1_27_0.json
schema/dmtf/json-schema-installed/Drive.v1_22_0.json
schema/dmtf/json-schema-installed/Event.v1_13_0.json
schema/dmtf/json-schema-installed/EventDestination.v1_16_0.json
schema/dmtf/json-schema-installed/EventService.v1_12_0.json
schema/dmtf/json-schema-installed/LogEntry.v1_21_0.json
schema/dmtf/json-schema-installed/LogService.v1_9_0.json
schema/dmtf/json-schema-installed/Manager.v1_24_0.json
schema/dmtf/json-schema-installed/ManagerAccount.v1_14_1.json
schema/dmtf/json-schema-installed/Memory.v1_23_0.json
schema/dmtf/json-schema-installed/PCIeDevice.v1_21_0.json
schema/dmtf/json-schema-installed/PCIeFunction.v1_7_0.json
schema/dmtf/json-schema-installed/Port.v1_18_0.json
schema/dmtf/json-schema-installed/Processor.v1_22_0.json
schema/dmtf/json-schema-installed/Redundancy.v1_7_0.json
schema/dmtf/json-schema-installed/Sensor.v1_12_0.json
schema/dmtf/json-schema-installed/ServiceRoot.v1_20_0.json
schema/dmtf/json-schema-installed/Storage.v1_21_0.json
schema/dmtf/json-schema-installed/StorageController.v1_11_0.json
schema/dmtf/json-schema-installed/TaskService.v1_3_0.json
schema/dmtf/json-schema/AccountService.v1_18_1.json
schema/dmtf/json-schema/Assembly.v1_6_1.json
schema/dmtf/json-schema/CertificateCollection.json
schema/dmtf/json-schema/CertificateEnrollment.v1_0_1.json
schema/dmtf/json-schema/CertificateService.v1_2_1.json
schema/dmtf/json-schema/Circuit.v1_9_0.json
schema/dmtf/json-schema/ComputerSystem.v1_27_0.json
schema/dmtf/json-schema/CoolingUnit.v1_5_0.json
schema/dmtf/json-schema/Drive.v1_22_0.json
schema/dmtf/json-schema/Event.v1_13_0.json
schema/dmtf/json-schema/EventDestination.v1_16_0.json
schema/dmtf/json-schema/EventService.v1_12_0.json
schema/dmtf/json-schema/ExternalAccountProvider.v1_8_2.json
schema/dmtf/json-schema/LeakDetection.v1_2_0.json
schema/dmtf/json-schema/LeakDetector.v1_6_0.json
schema/dmtf/json-schema/LeakDetectorCollection.json
schema/dmtf/json-schema/LogEntry.v1_21_0.json
schema/dmtf/json-schema/LogService.v1_9_0.json
schema/dmtf/json-schema/Manager.v1_24_0.json
schema/dmtf/json-schema/ManagerAccount.v1_14_1.json
schema/dmtf/json-schema/Memory.v1_23_0.json
schema/dmtf/json-schema/NetworkAdapter.v1_14_0.json
schema/dmtf/json-schema/NetworkDeviceFunction.v1_11_1.json
schema/dmtf/json-schema/PCIeDevice.v1_21_0.json
schema/dmtf/json-schema/PCIeFunction.v1_7_0.json
schema/dmtf/json-schema/Port.v1_18_0.json
schema/dmtf/json-schema/PortMetrics.v1_8_1.json
schema/dmtf/json-schema/PowerDistribution.v1_6_0.json
schema/dmtf/json-schema/PowerSupplyMetrics.v1_2_0.json
schema/dmtf/json-schema/Processor.v1_22_0.json
schema/dmtf/json-schema/Protocol.json
schema/dmtf/json-schema/Redundancy.v1_7_0.json
schema/dmtf/json-schema/Sensor.v1_12_0.json
schema/dmtf/json-schema/ServiceRoot.v1_20_0.json
schema/dmtf/json-schema/Storage.v1_21_0.json
schema/dmtf/json-schema/StorageController.v1_11_0.json
schema/dmtf/json-schema/Switch.v1_11_0.json
schema/dmtf/json-schema/TaskService.v1_3_0.json
/openbmc/bmcweb/scripts/update_schemas.py
3055224622-Jan-2026 Gunnar Mills <gmills@us.ibm.com>

Modify enum generation for clang

Clang-format was unhappy with the new
redfish-core/include/generated/enums/switch.hpp in 2025.4

```
diff --git a/redfish-core/include/generated/enums/switch.hpp b/r

Modify enum generation for clang

Clang-format was unhappy with the new
redfish-core/include/generated/enums/switch.hpp in 2025.4

```
diff --git a/redfish-core/include/generated/enums/switch.hpp b/redfish-core/include/generated/enums/switch.hpp
index 6acf6e28..cabc8562 100644
--- a/redfish-core/include/generated/enums/switch.hpp
+++ b/redfish-core/include/generated/enums/switch.hpp
@@ -5,7 +5,7 @@

namespace switch
{
-// clang-format off
+ // clang-format off
```

Move turning clang-format off before the namespace fixes.
¯\_(ツ)_/¯
Do that in generate_schema_enums.py and rerun update_schemas.py.

Adding 4 spaces before the clang-format off broke other generated
enums. Broke out from 2025.4.

Tested: Visual and build only.

Change-Id: Ic03aa558b405957f15035570d376c46c545906c0
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...


/openbmc/bmcweb/meson.options
include/generated/enums/acceleration_function.hpp
include/generated/enums/account_service.hpp
include/generated/enums/action_info.hpp
include/generated/enums/aggregation_source.hpp
include/generated/enums/allow_deny.hpp
include/generated/enums/attribute_registry.hpp
include/generated/enums/automation_node.hpp
include/generated/enums/battery.hpp
include/generated/enums/cable.hpp
include/generated/enums/certificate.hpp
include/generated/enums/certificate_enrollment.hpp
include/generated/enums/chassis.hpp
include/generated/enums/circuit.hpp
include/generated/enums/collection_capabilities.hpp
include/generated/enums/component_integrity.hpp
include/generated/enums/composition_service.hpp
include/generated/enums/computer_system.hpp
include/generated/enums/connection.hpp
include/generated/enums/connection_method.hpp
include/generated/enums/container_image.hpp
include/generated/enums/control.hpp
include/generated/enums/coolant_connector.hpp
include/generated/enums/cooling_loop.hpp
include/generated/enums/cooling_unit.hpp
include/generated/enums/cxl_logical_device.hpp
include/generated/enums/drive.hpp
include/generated/enums/endpoint.hpp
include/generated/enums/endpoint_group.hpp
include/generated/enums/ethernet_interface.hpp
include/generated/enums/event.hpp
include/generated/enums/event_destination.hpp
include/generated/enums/event_service.hpp
include/generated/enums/external_account_provider.hpp
include/generated/enums/facility.hpp
include/generated/enums/host_interface.hpp
include/generated/enums/ip_addresses.hpp
include/generated/enums/job.hpp
include/generated/enums/job_document.hpp
include/generated/enums/job_service.hpp
include/generated/enums/key.hpp
include/generated/enums/key_policy.hpp
include/generated/enums/leak_detector.hpp
include/generated/enums/license.hpp
include/generated/enums/license_service.hpp
include/generated/enums/log_entry.hpp
include/generated/enums/log_service.hpp
include/generated/enums/manager.hpp
include/generated/enums/manager_account.hpp
include/generated/enums/manager_network_protocol.hpp
include/generated/enums/manifest.hpp
include/generated/enums/media_controller.hpp
include/generated/enums/memory.hpp
include/generated/enums/memory_chunks.hpp
include/generated/enums/memory_region.hpp
include/generated/enums/message_registry.hpp
include/generated/enums/metric_definition.hpp
include/generated/enums/metric_report_definition.hpp
include/generated/enums/network_device_function.hpp
include/generated/enums/network_port.hpp
include/generated/enums/open_bmc_computer_system.hpp
include/generated/enums/operating_system.hpp
include/generated/enums/outbound_connection.hpp
include/generated/enums/outlet.hpp
include/generated/enums/outlet_group.hpp
include/generated/enums/pcie_device.hpp
include/generated/enums/pcie_function.hpp
include/generated/enums/pcie_slots.hpp
include/generated/enums/physical_context.hpp
include/generated/enums/port.hpp
include/generated/enums/power.hpp
include/generated/enums/power_distribution.hpp
include/generated/enums/power_supply.hpp
include/generated/enums/privileges.hpp
include/generated/enums/processor.hpp
include/generated/enums/protocol.hpp
include/generated/enums/pump.hpp
include/generated/enums/redfish_extensions.hpp
include/generated/enums/redundancy.hpp
include/generated/enums/registered_client.hpp
include/generated/enums/reservoir.hpp
include/generated/enums/resolution_step.hpp
include/generated/enums/resource.hpp
include/generated/enums/resource_block.hpp
include/generated/enums/schedule.hpp
include/generated/enums/secure_boot.hpp
include/generated/enums/secure_boot_database.hpp
include/generated/enums/sensor.hpp
include/generated/enums/serial_interface.hpp
include/generated/enums/session.hpp
include/generated/enums/settings.hpp
include/generated/enums/signature.hpp
include/generated/enums/software_inventory.hpp
include/generated/enums/storage.hpp
include/generated/enums/storage_controller.hpp
include/generated/enums/task.hpp
include/generated/enums/task_service.hpp
include/generated/enums/telemetry_data.hpp
include/generated/enums/telemetry_service.hpp
include/generated/enums/thermal.hpp
include/generated/enums/triggers.hpp
include/generated/enums/trusted_component.hpp
include/generated/enums/update_service.hpp
include/generated/enums/v_lan_network_interface.hpp
include/generated/enums/virtual_media.hpp
include/generated/enums/virtual_pci2_pci_bridge.hpp
include/generated/enums/volume.hpp
include/generated/enums/zone.hpp
/openbmc/bmcweb/scripts/generate_schema_enums.py
ca87907420-Jan-2026 Ramya Sivakumar <sramya@ami.com>

Fix typo: retryAttemps -> retryAttempts

Fixed incorrect variable name 'retryAttemps' to 'retryAttempts'
in the EventService PATCH handler. This typo was present in the
variable declaration and all u

Fix typo: retryAttemps -> retryAttempts

Fixed incorrect variable name 'retryAttemps' to 'retryAttempts'
in the EventService PATCH handler. This typo was present in the
variable declaration and all usages within the DeliveryRetryAttempts
parameter handling logic

Tested: Built successfully, no functional changes

Change-Id: I93699c9954c33c94d93bcc05d00c621c08aa3679
Signed-off-by: Ramya Sivakumar <sramya@ami.com>

show more ...

6f49f72803-Sep-2025 Brad Bishop <bradbish@qti.qualcomm.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: I16c1467c856e36f072bd4248

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: I16c1467c856e36f072bd4248186b9819e40ae228
Signed-off-by: Brad Bishop <bradbish@qti.qualcomm.com>

show more ...

5c170f7803-Sep-2025 Brad Bishop <bradbish@qti.qualcomm.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: Ief7d574d1652096c2701979a

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: Ief7d574d1652096c2701979a9f8fe9897957f492
Signed-off-by: Brad Bishop <bradbish@qti.qualcomm.com>

show more ...

b934d56525-Nov-2025 Oliver Brewka <oliver.brewka@9elements.com>

Renaming of eventlog variables and functions

Following a comment on [1], fix some of the variable and function names,
to match redfish terms.

Tested: Unit tests pass. Validation succeeded.

[1] htt

Renaming of eventlog variables and functions

Following a comment on [1], fix some of the variable and function names,
to match redfish terms.

Tested: Unit tests pass. Validation succeeded.

[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/83354/13

Change-Id: Ie52309126c798b17136be99fd4a3d6650721257e
Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>

show more ...

157cf91023-Dec-2025 Bowei Yu <yubowei0982@phytium.com.cn>

Improve the efficiency of the chassis

Removed redundant inner for loop of chassis.

Tested: I watched webui still see UUID and Location
Code in chassis.

Change-Id: I4abd5bf7a46eb997ade6537c198cccde

Improve the efficiency of the chassis

Removed redundant inner for loop of chassis.

Tested: I watched webui still see UUID and Location
Code in chassis.

Change-Id: I4abd5bf7a46eb997ade6537c198cccde1abf3196
Signed-off-by: Bowei Yu <yubowei0982@phytium.com.cn>

show more ...

96a194c418-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 ...

e32edd4720-Nov-2025 Janet Adkins <janeta@us.ibm.com>

Sensors: Reorganize objectPropertiesToJson for clarity

A review comment for a different commit noted the length of the
objectPropertiesToJson() method. [1] Here I am restructuring the
method to redu

Sensors: Reorganize objectPropertiesToJson for clarity

A review comment for a different commit noted the length of the
objectPropertiesToJson() method. [1] Here I am restructuring the
method to reduce its complexity.

The restructure factors out different sections of the work:
- Filling in the basic identity of the sensor. This is split into two
different methods. One for handling through the Redfish Sensors path
and the others for the deprecated Redfish Power/Thermal paths.
(Identity includes the Name/Id and type information for the sensor.
- Common function for filling in Sensor status.
- Mapping other available D-Bus properties to their Redfish property
name.

[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/85103/comment/621fe109_9157ec50/

Tested: Using hardware simulator
- Enabled redfish-allow-deprecated-power-thermal and confirmed response
same before and after change for:
- /redfish/v1/Chassis/chassis/Sensors
- /redfish/v1/Chassis/chassis/Thermal
- /redfish/v1/Chassis/chassis/Power
- /redfish/v1/Chassis/chassis/ThermalSubsystem/ThermalMetrics
- /redfish/v1/Chassis/chassis/EnvironmentMetrics
- Each Member under /redfish/v1/Chassis/chassis/Sensors/
(i.e. /redfish/v1/Chassis/chassis/Sensors/{})

Change-Id: I1524c5c3b1f98a95dc2ed82d395897cd5f8af7d2
Signed-off-by: Janet Adkins <janeta@us.ibm.com>

show more ...

aa0368ae05-Dec-2025 Ramya Sivakumar <sramya@ami.com>

Removed unused header in redfish-core/include

Remove unused includes and include boost/circular_buffer/base.hpp in
event_service_manager and event_matches_filter

Tested: Code compiles.

Change-Id:

Removed unused header in redfish-core/include

Remove unused includes and include boost/circular_buffer/base.hpp in
event_service_manager and event_matches_filter

Tested: Code compiles.

Change-Id: Ib90374b822560c063f3047037bdb87f36685f48c
Signed-off-by: Ramya Sivakumar <sramya@ami.com>

show more ...

c583f90001-Dec-2025 Igor Kanyuka <ifelmail@gmail.com>

Expose Chassis state on Transitioning

If chassis is in one of transitioning states, Redfish interface does not
expose PowerState and State.Status. This causes tests failure and users
cannot determin

Expose Chassis state on Transitioning

If chassis is in one of transitioning states, Redfish interface does not
expose PowerState and State.Status. This causes tests failure and users
cannot determine the actual state using Redfish. Expose PowerState and
State.Status for TransitioningToOff and TransitioningToOn to fix this.

Tested: Robot tests testing power operations now pass, before when
the D-Bus state was TransitioningToOff or TransitioningToOn
they would error because they could not find attributes they
need.
Also, ran rf_service_validator against BMC with D-Bus state set
to TransitioningToOff and made sure it succeeded.

Change-Id: I9c446a107bac6a69e962ef81de82920c9cce21ae
Signed-off-by: Igor Kanyuka <ifelmail@gmail.com>

show more ...

d32aff8d23-Sep-2025 Myung Bae <myungbae@us.ibm.com>

Add LocationIndicatorActive for Assembly

Implement LocationIndicatorActive for Assembly schema to set and get the
status of the location LED. A client uses the `LocationIndicatorActive`
property to

Add LocationIndicatorActive for Assembly

Implement LocationIndicatorActive for Assembly schema to set and get the
status of the location LED. A client uses the `LocationIndicatorActive`
property to physically identify or locate the assembly.

The assembly is an array of AssemblyData [1], and the element of the
array can be patched as explained in [2].

```
{
"Assemblies": [
{},
{},
{
"LocationIndicatorActive": true
},
{}
]
}
```

Tested:
- Validator passes.
-
1. Get LocationIndicatorActive
```
curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Assembly
{
"@odata.id": "/redfish/v1/Chassis/chassis/Assembly",
"@odata.type": "#Assembly.v1_6_0.Assembly",
"Assemblies": [
{
"@odata.id": "/redfish/v1/Chassis/chassis/Assembly#/Assemblies/0",
"@odata.type": "#Assembly.v1_6_0.AssemblyData",
"LocationIndicatorActive": false,
"MemberId": "0",

...

},
{
"@odata.id": "/redfish/v1/Chassis/chassis/Assembly#/Assemblies/1",
"@odata.type": "#Assembly.v1_6_0.AssemblyData",
"LocationIndicatorActive": false,
"MemberId": "1",

...

}
],
"Assemblies@odata.count": 2,
"Id": "Assembly",
"Name": "Assembly Collection"
}
```

2. Set LocationIndicatorActive to true
```
curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" \
-X PATCH -d '{"Assemblies":[{"LocationIndicatorActive":true},{}]}' \
https://${bmc}/redfish/v1/Chassis/chassis/Assembly
```

Then we will see the location LED lit up, and the
LocationIndicatorActive value becomes true.

```
curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Assembly
{
"@odata.id": "/redfish/v1/Chassis/chassis/Assembly",
"@odata.type": "#Assembly.v1_6_0.Assembly",
"Assemblies": [
{
"@odata.id": "/redfish/v1/Chassis/chassis/Assembly#/Assemblies/0",
"@odata.type": "#Assembly.v1_6_0.AssemblyData",
"LocationIndicatorActive": true,
"MemberId": "0",

...

},
{
"@odata.id": "/redfish/v1/Chassis/chassis/Assembly#/Assemblies/1",
"@odata.type": "#Assembly.v1_6_0.AssemblyData",
"LocationIndicatorActive": false,
"MemberId": "1",

...

}
],
"Assemblies@odata.count": 2,
"Id": "Assembly",
"Name": "Assembly Collection"
}
```

If the input array size is different from the existing assemblies, it
will cause an error like

```
curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" \
-X PATCH -d '{"Assemblies":[{},{"LocationIndicatorActive":true},{}]}' \
https://${bmc}/redfish/v1/Chassis/chassis/Assembly
{
"error": {
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The array provided for property Assemblies exceeds the size limit 2.",
"MessageArgs": [
"Assemblies",
"2"
],
"MessageId": "Base.1.19.ArraySizeTooLong",
"MessageSeverity": "Warning",
"Resolution": "Resubmit the request with an appropriate array size."
}
],
"code": "Base.1.19.ArraySizeTooLong",
"message": "The array provided for property Assemblies exceeds the size limit 2."
}
}%
```

[1] https://redfish.dmtf.org/schemas/v1/Assembly.v1_6_0.json
[2] https://redfishforum.com/thread/437/patch-individual-items-array-objects

Change-Id: Ic2e87f5daeb7ebed161654bb54ac29e7d5daa482
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...

1aa94df431-Jul-2025 Harshit Aghera <haghera@nvidia.com>

sensor_utils: Add PeakReading property

Add support for PeakReading and PeakReadingTime for sensors. This
enhancement allows sensor readings to include max observed value
information in the Redfish A

sensor_utils: Add PeakReading property

Add support for PeakReading and PeakReadingTime for sensors. This
enhancement allows sensor readings to include max observed value
information in the Redfish API, along with timestamp. It uses PDI
xyz.openbmc_project.Telemetry.Report. Property PeakReading is added if
OperationType in PDI property ReadingParameters is set to Maximum.

Current Limitation -
The ResetMetrics action is currently not supported for sensor URIs. As a
result, the ability to clear PeakReading values for GPU Power Sensors
has not been implemented.

Future Consideration -
If ResetMetrics action support is added in the future, the corresponding
functionality will also need to be implemented in the dbus-sensor
application to ensure full compatibility.

Schema:
https://redfish.dmtf.org/schemas/v1/Sensor.v1_2_0.yaml (PeakReading)

Backend implementation for reference:
https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/82479

Tested: Build an image for nvl32-obmc machine with the following patches
cherry picked.

https://gerrit.openbmc.org/c/openbmc/openbmc/+/85490
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/82449.

The patch cherry-picks the following patches that are currently under
review.

```
1. device tree
https://lore.kernel.org/all/aRbLqH8pLWCQryhu@molberding.nvidia.com/
2. mctpd patches
https://github.com/CodeConstruct/mctp/pull/85
3. u-boot changes
https://lore.kernel.org/openbmc/20251121-msx4-v1-0-fc0118b666c1@nvidia.com/T/#t
4. kernel changes as specified in the openbmc patch (for espi)
5. entity-manager changes
https://gerrit.openbmc.org/c/openbmc/entity-manager/+/85455
6. platform-init changes
https://gerrit.openbmc.org/c/openbmc/platform-init/+/85456
7. spi changes
https://lore.kernel.org/all/20251121-w25q01jv_fixup-v1-1-3d175050db73@nvidia.com/
```

```
> curl -s -k -u 'root:0penBmc' https://10.137.203.137/redfish/v1/Chassis/NVIDIA_GB200_1/Sensors/power_NVIDIA_GB200_GPU_0_Power_0
{
"@odata.id": "/redfish/v1/Chassis/NVIDIA_GB200_1/Sensors/power_NVIDIA_GB200_GPU_0_Power_0",
"@odata.type": "#Sensor.v1_2_0.Sensor",
"Id": "power_NVIDIA_GB200_GPU_0_Power_0",
"Name": "NVIDIA GB200 GPU 0 Power 0",
"PeakReading": 52.671,
"PeakReadingTime": 0,
"Reading": 27.214,
"ReadingRangeMax": 5000.0,
"ReadingRangeMin": 0.0,
"ReadingType": "Power",
"ReadingUnits": "W",
"Status": {
"Health": "OK",
"State": "Enabled"
}
}%
````

Change-Id: I8c1ab6ce85f31419db4a1d931bf99722d24afbd7
Signed-off-by: Harshit Aghera <haghera@nvidia.com>

show more ...

57d41fed13-Nov-2025 Janet Adkins <janeta@us.ibm.com>

Fans: Create utility class for fans

Support for fans from separate routes of ThermalSubsystem and
EnvironmentMetrics will need the same utility functions. By moving these
shared functions into singl

Fans: Create utility class for fans

Support for fans from separate routes of ThermalSubsystem and
EnvironmentMetrics will need the same utility functions. By moving these
shared functions into single file will help with build time by not
needing to included full fan support in all of the related locations.

Initially only the getFanPaths() is moved. Expectation is more functions
will be added as the expanded support is added.

Tested:
- Compiles
- Verified ThermalSubsystem/Fans output unchanged

Change-Id: I22c22bdf38155e93aa13e259dd8c904a977f8a07
Signed-off-by: Janet Adkins <janeta@us.ibm.com>

show more ...

12345678910>>...88