<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/OpenBmc/bmcweb.git/test/redfish-core/lib, branch master</title>
<subtitle>A do everything Redfish, KVM, GUI, and DBus webserver for OpenBMC (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/'/>
<updated>2026-09-19T03:12:38+00:00</updated>
<entry>
<title>Test dbusToRfBootType and dbusToRfBootMode</title>
<updated>2026-09-19T03:12:38+00:00</updated>
<author>
<name>Vinothkumar Shanmugavel</name>
<email>vinothkumars@ami.com</email>
</author>
<published>2026-09-17T04:41:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=62755324d1b81c18c45480ec29b7c6cb8215c7bc'/>
<id>urn:sha1:62755324d1b81c18c45480ec29b7c6cb8215c7bc</id>
<content type='text'>
Add coverage for dbusToRfBootType() and dbusToRfBootMode(), which
translate D-Bus boot configuration values into Redfish enum values.

Verify the supported boot type values Legacy and EFI map to
BootSourceOverrideMode::Legacy and BootSourceOverrideMode::UEFI. Verify
the supported boot mode values Regular, Safe, and Setup map to
BootSource::None, BootSource::Diags, and BootSource::BiosSetup.

Also verify that unknown D-Bus values return the corresponding Invalid
enum value instead of being silently interpreted as a valid setting.

Tested:
- meson test -C builddir system_test -v
- All 6 system_test tests passed, including both new tests

Change-Id: I926187c3e87abc4baf2af22a6ca6f689c03dcd77
Signed-off-by: Vinothkumar Shanmugavel &lt;vinothkumars@ami.com&gt;
</content>
</entry>
<entry>
<title>Break out dump / faultlog log services</title>
<updated>2026-09-03T12:25:00+00:00</updated>
<author>
<name>Oliver Brewka</name>
<email>oliver.brewka@9elements.com</email>
</author>
<published>2026-08-18T11:02:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=ae6cec26a4f80a5be05674843f50554e16fc5602'/>
<id>urn:sha1:ae6cec26a4f80a5be05674843f50554e16fc5602</id>
<content type='text'>
Similar to how other log services got broken out into own header files,
do the same for dump / faultlog.

A new dump utility header has been created, request handler and route
register function went into manager / systems log service header files
respectively.

Code logic stays untouched in this patch.

Tested: Code compiles. Unit test runs through.

Validator was run on romulus in qemu with phosphor-debug-collector ibm
extension enabled to get access to /xyz/openbmc_project/dump/system.

Via the 'CreateDump' method empty dump entries were manually created
for:
/xyz/openbmc_project/dump/system
/xyz/openbmc_project/dump/bmc
/xyz/openbmc_project/dump/faultlog

```
busctl call xyz.openbmc_project.Dump.Manager \
    /xyz/openbmc_project/dump/bmc \
    xyz.openbmc_project.Dump.Create \
    CreateDump a{sv} 0

&gt; o "/xyz/openbmc_project/dump/bmc/entry/1"

busctl tree xyz.openbmc_project.Dump.Manager

`- /xyz
  `- /xyz/openbmc_project
    `- /xyz/openbmc_project/dump
      |- /xyz/openbmc_project/dump/bmc
      | `- /xyz/openbmc_project/dump/bmc/entry
      |   |- /xyz/openbmc_project/dump/bmc/entry/1
      |   |- /xyz/openbmc_project/dump/bmc/entry/2
      |   |- /xyz/openbmc_project/dump/bmc/entry/3
      |   |- /xyz/openbmc_project/dump/bmc/entry/4
      |   |- /xyz/openbmc_project/dump/bmc/entry/5
      |   `- /xyz/openbmc_project/dump/bmc/entry/6
      |- /xyz/openbmc_project/dump/faultlog
      | `- /xyz/openbmc_project/dump/faultlog/entry
      |   `- /xyz/openbmc_project/dump/faultlog/entry/1
      |- /xyz/openbmc_project/dump/resource
      `- /xyz/openbmc_project/dump/system
        `- /xyz/openbmc_project/dump/system/entry
          `- /xyz/openbmc_project/dump/system/entry/1
```

Overwrite OperationStatus of /xyz/openbmc_project/dump/system/entry/1
for the entry to be added to the collection:

```
busctl set-property xyz.openbmc_project.Dump.Manager \
    /xyz/openbmc_project/dump/system/entry/1 \
    xyz.openbmc_project.Common.Progress Status \
    s xyz.openbmc_project.Common.Progress.OperationStatus.Completed \
```

Systems/Dump

Validating /redfish/v1/Systems/system/LogServices/Dump...
  - Pass: 14, Warn: 0, Fail: 0, Skip: 9
Validating /redfish/v1/Systems/system/LogServices/Dump/Entries...
  - Pass: 17, Warn: 0, Fail: 0, Skip: 30
Validating /redfish/v1/Systems/system/LogServices/Dump/Entries/1...
  - Pass: 10, Warn: 0, Fail: 0, Skip: 26

+--------------+--------------+--------------+--------------+
|     PASS     |     WARN     |     FAIL     |  NOT TESTED  |
+--------------+--------------+--------------+--------------+
|      41      |      0       |      0       |      65      |
+--------------+--------------+--------------+--------------+

Managers/Dump
Validating /redfish/v1/Managers/bmc/LogServices/Dump...
  - Pass: 14, Warn: 0, Fail: 0, Skip: 9
Validating /redfish/v1/Managers/bmc/LogServices/Dump/Entries...
  - Pass: 70, Warn: 0, Fail: 0, Skip: 162
Validating /redfish/v1/Managers/bmc/LogServices/Dump/Entries/1...
  - Pass: 11, Warn: 0, Fail: 0, Skip: 25
Validating /redfish/v1/Managers/bmc/LogServices/Dump/Entries/2...
  - Pass: 11, Warn: 0, Fail: 0, Skip: 25
Validating /redfish/v1/Managers/bmc/LogServices/Dump/Entries/3...
  - Pass: 9, Warn: 0, Fail: 0, Skip: 27
Validating /redfish/v1/Managers/bmc/LogServices/Dump/Entries/4...
  - Pass: 9, Warn: 0, Fail: 0, Skip: 27
Validating /redfish/v1/Managers/bmc/LogServices/Dump/Entries/5...
  - Pass: 9, Warn: 0, Fail: 0, Skip: 27
Validating /redfish/v1/Managers/bmc/LogServices/Dump/Entries/6...
  - Pass: 9, Warn: 0, Fail: 0, Skip: 27

+--------------+--------------+--------------+--------------+
|     PASS     |     WARN     |     FAIL     |  NOT TESTED  |
+--------------+--------------+--------------+--------------+
|     142      |      0       |      0       |     329      |
+--------------+--------------+--------------+--------------+

Managers/FaultLog

Validating /redfish/v1/Managers/bmc/LogServices/FaultLog...
  - Pass: 12, Warn: 0, Fail: 0, Skip: 9
Validating /redfish/v1/Managers/bmc/LogServices/FaultLog/Entries...
  - Pass: 13, Warn: 0, Fail: 0, Skip: 34
Validating /redfish/v1/Managers/bmc/LogServices/FaultLog/Entries/1...
  - Pass: 6, Warn: 0, Fail: 0, Skip: 30

+--------------+--------------+--------------+--------------+
|     PASS     |     WARN     |     FAIL     |  NOT TESTED  |
+--------------+--------------+--------------+--------------+
|      31      |      0       |      0       |      73      |
+--------------+--------------+--------------+--------------+

Change-Id: I6379f877149c545b3b3bfcda8510c6ee1085dcf9
Signed-off-by: Oliver Brewka &lt;oliver.brewka@9elements.com&gt;
</content>
</entry>
<entry>
<title>bmcweb: add unit tests for Fabric Switch PowerState handlers</title>
<updated>2026-09-03T02:27:27+00:00</updated>
<author>
<name>JY Voon</name>
<email>jvoon@nvidia.com</email>
</author>
<published>2026-07-09T05:09:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=4b90142b858d46791337f5fb0cd2c4985f55d5fa'/>
<id>urn:sha1:4b90142b858d46791337f5fb0cd2c4985f55d5fa</id>
<content type='text'>
Cover dbusToRfPowerState() and the callbacks introduced by the Fabric
Switch PowerState change: afterGetSwitchPowerState and
afterGetSwitchPowerStateService. The tests assert each branch's
externally visible behavior: known PowerState decorator values map to
the matching resource::PowerState and unmapped values yield nullopt; a
property read error or an unmapped value leaves PowerState omitted
without failing the request; EBADR, io_error and an empty mapper
object leave PowerState omitted; any other mapper error sets an
internal server error.

Change-Id: Id488f88b8d7784a4f195fcf7c832fbecfdb0b513
Signed-off-by: JY Voon &lt;jvoon@nvidia.com&gt;
</content>
</entry>
<entry>
<title>bmcweb: add PCIeDevice UUID property</title>
<updated>2026-09-01T15:34:47+00:00</updated>
<author>
<name>JY Voon</name>
<email>jvoon@nvidia.com</email>
</author>
<published>2026-05-13T03:04:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=f8a4e247a82f71e80613a035c78316f9a8c9088c'/>
<id>urn:sha1:f8a4e247a82f71e80613a035c78316f9a8c9088c</id>
<content type='text'>
Add optional support for UUID property for PCIeDevice.

Tested: Build an image for nvl32-obmc machine with the following patch
cherry picked.
```
1. Align with upstream u-boot dts tree:
   https://gerrit.openbmc.org/c/openbmc/openbmc/+/89932
2. mctpd configuration:
   https://gerrit.openbmc.org/c/openbmc/openbmc/+/87390
3. Enable nvidia-gpu sensor:
   https://gerrit.openbmc.org/c/openbmc/openbmc/+/89933
```

PCIeDevice with Common.UUID published (GPU path):

$ busctl get-property xyz.openbmc_project.GpuSensor \
  /xyz/openbmc_project/inventory/Nvidia_GPU_10 \
  xyz.openbmc_project.Common.UUID UUID
s "68174e99-daf4-02d1-ba39-4ed2bf8a0f21"

$ curl -sk https://{BMC_IP}/redfish/v1/Systems/system/\
PCIeDevices/Nvidia_GPU_10

{
  "@odata.id": "/redfish/v1/Systems/system/PCIeDevices/Nvidia_GPU_10",
  "@odata.type": "#PCIeDevice.v1_19_0.PCIeDevice",
  "Id": "Nvidia_GPU_10",
  "Manufacturer": "NVIDIA",
  "Model": "RTXPRO6000BlackwellDC",
  "Name": "PCIe Device",
  "PartNumber": "900-2G153-0000-000",
  "SerialNumber": "1792425045093",
  "Status": {
    "Health": "OK",
    "State": "Enabled"
  },
  "UUID": "68174e99-daf4-02d1-ba39-4ed2bf8a0f21"
}

PCIeDevice without Common.UUID published (ConnectX path):

$ busctl get-property xyz.openbmc_project.GpuSensor \
  /xyz/openbmc_project/inventory/Nvidia_ConnectX_24_PCIe \
  xyz.openbmc_project.Common.UUID UUID
Failed to get property UUID on interface
xyz.openbmc_project.Common.UUID: Unknown interface
xyz.openbmc_project.Common.UUID or property UUID.

$ curl -sk https://{BMC_IP}/redfish/v1/Systems/system/\
PCIeDevices/Nvidia_ConnectX_24_PCIe | jq 'has("UUID")'

false

Change-Id: I38cf972f03f0dd0299b708ea8203872c73c8e224
Signed-off-by: JY Voon &lt;jvoon@nvidia.com&gt;
</content>
</entry>
<entry>
<title>bmcweb: tolerate missing deprecated Software Purpose</title>
<updated>2026-07-23T02:56:10+00:00</updated>
<author>
<name>JY Voon</name>
<email>jvoon@nvidia.com</email>
</author>
<published>2026-06-22T13:17:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=1a972a358c0b5b7affd46ad9db683d40511a293c'/>
<id>urn:sha1:1a972a358c0b5b7affd46ad9db683d40511a293c</id>
<content type='text'>
The xyz.openbmc_project.Software.Version interface marks the Purpose
property as deprecated in favor of Compatible strings and inventory
associations, so a conforming object may publish only Version. The
FirmwareInventory handler treated a missing Purpose as an internal
error and returned HTTP 500 for every such object. Added this patch\
to skip the optional Description and RelatedItem links rather
than failing the resource. Objects that publish Purpose keep their
existing output.

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

1. Align with upstream u-boot dts tree:
   https://gerrit.openbmc.org/c/openbmc/openbmc/+/89932
2. mctpd configuration:
   https://gerrit.openbmc.org/c/openbmc/openbmc/+/87390
3. Enable nvidia-gpu sensor:
   https://gerrit.openbmc.org/c/openbmc/openbmc/+/89933
4. dbus-sensors expose GPU inventory interfaces:
   https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/88990

$ curl -sk https://{BMC_IP}/redfish/v1/UpdateService/\
FirmwareInventory/Nvidia_GPU_10_Firmware
{
  "@odata.id":
    "/redfish/v1/UpdateService/FirmwareInventory/\
Nvidia_GPU_10_Firmware",
  "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
  "Id": "Nvidia_GPU_10_Firmware",
  "Name": "Software Inventory",
  "Status": {
    "HealthRollup": "OK",
    "State": "Enabled"
  },
  "Updateable": false,
  "Version": "98.02.AF.00.01"
}

Depends-On: Id0c09f4ced40dbe505ca7cbd99f6de0e847afe3b
Change-Id: I2a9562e461ffd39fcbdc176413a1bf2cb6fdbc22
Signed-off-by: JY Voon &lt;jvoon@nvidia.com&gt;
</content>
</entry>
<entry>
<title>bmcweb: add unit tests for processor FirmwareVersion handlers</title>
<updated>2026-07-23T02:55:57+00:00</updated>
<author>
<name>JY Voon</name>
<email>jvoon@nvidia.com</email>
</author>
<published>2026-07-07T08:47:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=d1c098fa12fb332fdd1adf06cf6a7c89a59284aa'/>
<id>urn:sha1:d1c098fa12fb332fdd1adf06cf6a7c89a59284aa</id>
<content type='text'>
Cover the callbacks introduced by the GPU Processor FirmwareVersion
change. The tests assert each branch's externally visible behavior:
unexpected D-Bus errors, an ambiguous subtree, and a missing owning
service set an internal server error, while EBADR, an empty subtree,
and an empty version leave FirmwareVersion omitted.

Change-Id: Ic00549fe7513651a139ebb8a4e7b36c95b3f453c
Signed-off-by: JY Voon &lt;jvoon@nvidia.com&gt;
</content>
</entry>
<entry>
<title>Manage user password expiration via REST</title>
<updated>2026-06-29T19:22:47+00:00</updated>
<author>
<name>Ivan Moiseev</name>
<email>moiseev.ivan4w@yandex.com</email>
</author>
<published>2024-10-15T13:18:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=e80fca94a0cd8c84393015c0d1df0cd5a2e27591'/>
<id>urn:sha1:e80fca94a0cd8c84393015c0d1df0cd5a2e27591</id>
<content type='text'>
This change adds user password expiration date time mgmt via REST
API provided by bmcweb. Password expiration date time is managed as
string in 'YYYY-MM-DDTHH:MM:SS±hh:mm' format and internally operates as
Epoch time. When set password expiration date time can be specified in
any format supported by 'dateStringToEpoch' function in
'redfish::time_utils'. Value 'null' is used to make password not to
expire.

Unit tests checking correct password expiration value conversion were
added.

This change depends on corresponding change in phosphor-dbus-interfaces
[1] and in phospor-user-manager [2].

Password expiration management:
- create user with password expiration
```
curl -k -X POST -H 'Content-Type: application/json' \
  "https://&lt;bmc&gt;/redfish/v1/AccountService/Accounts" \
  -d '{"UserName":"&lt;user&gt;", "Password":"&lt;password&gt;", "RoleId":"&lt;role&gt;", "PasswordExpiration": "&lt;YYYY-MM-DDTHH:MM:SS&gt;"}'
```

- modify user password expiration
```
curl -k -X PATCH -H 'Content-Type: application/json' \
  https://&lt;bmc&gt;/redfish/v1/AccountService/Accounts/&lt;user&gt; \
  -d '{"PasswordExpiration": "&lt;YYYY-MM-DDTHH:MM:SS&gt;"}'
```

- get user password expiration
```
  curl -k -X GET https://&lt;bmc&gt;/redfish/v1/AccountService/Accounts/&lt;user&gt;
```

- modify user password not to expire
```
curl -k -X PATCH -H 'Content-Type: application/json' \
  https://&lt;bmc&gt;/redfish/v1/AccountService/Accounts/&lt;user&gt; \
  -d '{"PasswordExpiration": null}'
```

Tested:
Functionality of this change was tested via curl utility. Also, it was
checked that proper value was set on dbus for'PasswordExpiration'
attribute of the specified user.
- create user account without password expiration, verify that password
  expiration is not set
- create user account with password expiration specified, verify that it
  is correct
- create user account with null password expiration which makes password
  not to expire, verify that it is correct
- try to create user account with various invalid password expiration
  values(incorrect type, invalid format), verify that user is not
  created and appropriate error is returned in response
- modify user password expiration to specific time, verify that is is
  correct
- make user password not to expiry, verify that it is correct
- try to set password expiration to an invalid value (incorrect type,
  invalid format), verify that is does not change and appropriate error
  is returned in response

Redfish service validation on /redfish/v1/AccountService/Accounts tree
containing both user accounts with and without password expiration has
passed successfully.

[1] https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/75236
[2] https://gerrit.openbmc.org/c/openbmc/phosphor-user-manager/+/75237

Change-Id: Idf5e4356eaa8866dd4a10664996117e2cdba0684
Signed-off-by: Ivan Moiseev &lt;moiseev.ivan4w@yandex.com&gt;
Signed-off-by: Ivan Mikhaylov &lt;fr0st61te@gmail.com&gt;
</content>
</entry>
<entry>
<title>fix 'Chassis' property in oem schema</title>
<updated>2026-06-26T13:22:47+00:00</updated>
<author>
<name>Alexander Hansen</name>
<email>alexander.hansen@9elements.com</email>
</author>
<published>2026-02-03T07:08:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=1bda4f7387d8373c6ece92311f3c28e13c724d8e'/>
<id>urn:sha1:1bda4f7387d8373c6ece92311f3c28e13c724d8e</id>
<content type='text'>
`redfish-core/schema/oem/openbmc/` oem schema defines 'Chassis' property
for fan zones but the implementation forms invalid chassis links.

Affected options: redfish-oem-manager-fan-data=enabled (default)

Using following configuration, plus a few fans and pid controller
(a typical single-host 2U server with 3 fans, Tyan S8030 board)

```
        {
            "FailSafePercent": 100,
            "MinThermalOutput": 10,
            "Name": "Zone0",
            "Type": "Pid.Zone"
        },
```

It is straightforward to get a response like below

```
...
"FanZones": {
  "@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanZones",
  "@odata.type": "#OpenBMCManager.v1_0_0.Manager.FanZones",
  "Zone0": {
    "@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanZones/Zone0",
    "@odata.type": "#OpenBMCManager.v1_0_0.Manager.FanZone",
    "Chassis": {
      "@odata.id": "/redfish/v1/Chassis/Zone0"
    },
    "FailSafePercent": 100.0,
    "MinThermalOutput": 10.0
  }
},
...
```

when querying
```
curl --insecure --user root:root https://${bmc}/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan
```

For reference, the chassis collection
```
{
  "@odata.id": "/redfish/v1/Chassis",
  "@odata.type": "#ChassisCollection.ChassisCollection",
  "Members": [
    {
      "@odata.id": "/redfish/v1/Chassis/MBX_1_57_Chassis"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Tyan_S8030_Baseboard"
    }
  ],
  "Members@odata.count": 2,
  "Name": "Chassis Collection"
}
```

Since that configuration is representative of various boards and the bug
has been seen by others before [1] (in terms of a fan zone and chassis
sharing the same name, suggesting ill-formed link), fix the
implementation to use the result of GetManagedObjects call and find
valid chassis path there.

This is to allow redfish validator to pass with default meson options
and a common system configuration. Since it's a config dependent failure
it would be great for others to test and share their result.

Inspection of the code causing validation failure:

```
auto pids = std::make_shared&lt;GetPIDValues&gt;(asyncResp);
pids-&gt;run();
then run(); returns and `~GetPIDValues()` is called
which calls processingComplete
which calls asyncPopulatePid
```

Inside `asyncPopulatePid` it does `dbus::utility::getManagedObjects`
and iterates over the results

```
   112             for (const auto&amp; pathPair : managedObj)
   113             {
   114                 for (const auto&amp; intfPair : pathPair.second)
```

then checks for an interface

```
   180                     if (intfPair.first == pidZoneConfigurationIface)
   181                     {
   182                         sdbusplus::message::object_path pidPath(
   183                             pathPair.first.str);
   184                         std::string chassis = pidPath.filename();
   185                         if (chassis.empty())
   186                         {
   187                             chassis = "#IllegalValue";
   188                         }
```

and simply uses the object path from PID Zone config interface to
extract the leaf and insert that as the chassis link.

It can only work in case the Board/Chassis interface is on the same
object path which is unlikely.

Tested: on Tyan S8030.

Result after the change, the optional property now contains the correct
chassis link.
```
...
"FanZones": {
  "@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanZones",
  "@odata.type": "#OpenBMCManager.v1_0_0.Manager.FanZones",
  "Zone0": {
    "@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanZones/Zone0",
    "@odata.type": "#OpenBMCManager.v1_0_0.Manager.FanZone",
    "Chassis": {
      "@odata.id": "/redfish/v1/Chassis/MBX_1_57_Chassis"
    },
    "FailSafePercent": 100.0,
    "MinThermalOutput": 10.0
  }
},
...
```

```
/tmp/rsv-venv/bin/rf_service_validator \
 --auth Session -i https://${bmc}:443 \
 -u ${username} -p ${password} --payload 'Tree' /redfish/v1/Managers/bmc

...

Elapsed time: 0:00:32

Listing any warnings and errors:

Results Summary:
Pass: 766, Fail: 0, Warning: 0
Validation has succeeded.
```

RF validator Tree validation errors are reduced compared to previous.

References:

[1] https://discordapp.com/channels/775381525260664832/1449737223493910559/1450273124804333598

Change-Id: I2a2db456f42c5dafa451f69362b1d9c8a094e86e
Signed-off-by: Alexander Hansen &lt;alexander.hansen@9elements.com&gt;
Signed-off-by: Ed Tanous &lt;etanous@nvidia.com&gt;
</content>
</entry>
<entry>
<title>Add unit test for TelemetryService</title>
<updated>2026-06-25T15:18:42+00:00</updated>
<author>
<name>Ramya Sivakumar</name>
<email>sramya@ami.com</email>
</author>
<published>2026-02-06T09:42:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=3b9e3d1c44334c1070b92fc1d11a96b221f96988'/>
<id>urn:sha1:3b9e3d1c44334c1070b92fc1d11a96b221f96988</id>
<content type='text'>
Add test case for handleTelemetryServiceGet function to verify the
static attributes returned by the TelemetryService endpoint

The test validates the following response fields:
- @odata.type and @odata.id
- Id and Name
- Navigation properties: MetricReportDefinitions, MetricReports and
  Triggers

Tested
- All assertions passed

Change-Id: Ibc71ad9ff1796b90fed19d25be1525204919fa04
Signed-off-by: Ramya Sivakumar &lt;sramya@ami.com&gt;
</content>
</entry>
<entry>
<title>bmcweb: expose PID D term and hysteresis mode in OEM schema</title>
<updated>2026-06-22T17:39:02+00:00</updated>
<author>
<name>You Peng Wu</name>
<email>twpeng50606@gmail.com</email>
</author>
<published>2026-04-07T17:54:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=762a74183715f322813aa9f61120dc4069967dc3'/>
<id>urn:sha1:762a74183715f322813aa9f61120dc4069967dc3</id>
<content type='text'>
Extend the OpenBMCManager OEM fan configuration to cover the two
additional PID parameters already supported by phosphor-pid-control:

* DCoefficient (derivative term of the PID loop)
* CheckHysteresisWithSetpoint (boolean indicating whether input
  hysteresis is applied around the setpoint)

These fields are now exposed through the Oem/OpenBmc/Fan/PidControllers
Redfish interface and correctly mapped to the underlying D-Bus
PidConfiguration objects.

To keep the OEM schema backwards compatible, introduce a new
version OpenBMCManager.v1_1_0 that adds the two properties to the
PidController definition, and update bmcweb to reference the new
schema version.

Test(qemu evb-ast2600):

Load Fantable via entity-manager
/var/configuration/system.json content:

https://github.com/YouPengWu/ToReviewer/blob/main/85785
/Test_case/Bmcweb(my_commit)/system.txt

Verify OEM properties in Manager resource
GET /redfish/v1/Managers/bmc:

https://github.com/YouPengWu/ToReviewer/blob/main/85785
/Test_case/Bmcweb(my_commit)/Managers-bmc-oem.png

Verify OpenBMCManager OEM schema exposure
GET /redfish/v1/JsonSchemas/OpenBMCManager:

https://github.com/YouPengWu/ToReviewer/blob/main/85785
/Test_case/Bmcweb(my_commit)/redfish-oem-schema.png

Run Redfish Service Validator (RSV)
Summary:

https://github.com/YouPengWu/ToReviewer/blob/main/85785
/Test_case/Bmcweb(my_commit)/redfish-validator-summary.png

Details:

https://github.com/YouPengWu/ToReviewer/blob/main/85785
/Test_case/Bmcweb(my_commit)/redfish-validator-details.png

Full log:

https://github.com/YouPengWu/ToReviewer/blob/main/85785
/Test_case/Bmcweb(my_commit)/ConformanceLog_12_14_2025_180449.txt

Baseline (community/original) RSV log
for comparison (no new failures introduced):

https://github.com/YouPengWu/ToReviewer/blob/main/85785
/Test_case/Bmcweb(57d41)/ConformanceLog_12_14_2025_174610.txt

Change-Id: Ide1a118f9fd27eb94e911997d99e5934fe3e1095
Signed-off-by: You Peng Wu &lt;twpeng50606@gmail.com&gt;
</content>
</entry>
</feed>
