Age | Commit message (Collapse) | Author | Files | Lines |
|
The commit 2eaa927 [1] altered the D-Bus associations used for setting
and getting the LED state for the Systems resource. Machines which use
entity-manager do not have the new association yet.
This commit is adding back the use of the old D-Bus method under a
compile option. This will be enabled by default until October 15, 2025
and completely removed by June 2026.
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/82078
Tested:
- Built with option enabled and confirmed logging showed old method
being used.
- Built with option disabled and confirmed logging showed new method
being used.
Change-Id: I271fc464ef512b742a8c85419668aa09d38e525d
Signed-off-by: Janet Adkins <janeta@us.ibm.com>
|
|
Solution to reduce compressed rofs size.
Conclusion: The compiler is better at reducing binary size than the rofs
compression is at deduplicating sections of already compiled binaries,
in the case of bmcweb.
What's been changed?
`bmcweb` and `bmcwebd` have been merged into `bmcweb`.
The webserver can be started with `bmcweb daemon`.
Commands used to check size
```
wc -c build/s8030/tmp/work/*-openbmc-linux-gnueabi/obmc-phosphor-image/1.0/obmc-phosphor-image-1.0/static/image-rofs
wc -c build/s8030/tmp/deploy/images/s8030/image-rofs
xz -c build/s8030/tmp/work/*-openbmc-linux-gnueabi/obmc-phosphor-image/1.0/rootfs/bin/bmcweb | wc -c
xz -c build/s8030/tmp/work/*-openbmc-linux-gnueabi/obmc-phosphor-image/1.0/rootfs/usr/libexec/bmcwebd | wc -c
```
Base commit used for testing:
`2169e896448fac1b59c57516b381492e4b2161c7`
Results:
Before patch:
```
image-rofs compressed size:
25526272 build/s8030/tmp/work/s8030-openbmc-linux-gnueabi/obmc-phosphor-image/1.0/obmc-phosphor-image-1.0/static/image-rofs
rootfs
25526272 build/s8030/tmp/deploy/images/s8030/image-rofs
bmcweb cli
95424
bmcwebd
1016004
```
After patch:
```
image-rofs compressed size:
25477120 build/s8030/tmp/work/s8030-openbmc-linux-gnueabi/obmc-phosphor-image/1.0/obmc-phosphor-image-1.0/static/image-rofs
rootfs
25477120 build/s8030/tmp/deploy/images/s8030/image-rofs
bmcweb cli
96
bmcwebd
1059556
```
Calculating the difference in compressed rofs
25526272 - 25477120 = 49152
which is around 0.2% in terms of the total image but around 4.6% in
terms of bmcwebd binary.
Tested: on yosemite4 qemu
`bmcweb` cli interactions work as before.
```
root@yosemite4:~# bmcweb --help
BMCWeb CLI
Usage: bmcweb [OPTIONS] SUBCOMMAND
Options:
-h,--help Print this help message and exit
Subcommands:
loglevel Set bmcweb log level
daemon Run webserver
root@yosemite4:~# bmcweb loglevel info
<6>[webserver_cli.cpp:97] logging level changed to: INFO
root@yosemite4:~# bmcweb loglevel
level is required
Run with --help for more information.
root@yosemite4:~# bmcweb loglevel debug
<6>[webserver_cli.cpp:97] logging level changed to: DEBUG
```
systemd service still working
```
root@yosemite4:~# systemctl status bmcweb
● bmcweb.service - Start bmcweb server
Loaded: loaded (/usr/lib/systemd/system/bmcweb.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-04-03 13:35:45 PDT; 5 months 15 days ago
```
Change-Id: Ib5dde568ac1c12c5414294ed96404c6a69417424
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
|
|
These decodes haven't been standard practice for a while. While they
will likely break some downstream builds, we need to clean things up.
If you are seeing this commit message because your downstream build is
broken, please migrate your code to using nlohmann::json::object_t
instead of nlohmann::json when it does the unpack.
Tested: Code compiles.
Change-Id: Id892ee381b2d6b40a6366ee0622cde04d2cacd7b
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
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>
|
|
As part of a EventLog refactor, break out all code
used for Systems Journal EventLog, in order to make the code base
more maintainable in the long run.
Tested: Only code extraction. Code compiles.
Change-Id: I855c8c680d3de68944b0ae03ff7f181e6790c456
Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
|
|
This implements `LocationIndicatorActive` property for Fabric port using
the following methods.
- `getLocationIndicatorActive()`
- `setLocationIndicatorActive()`
Tested:
- Validator passes
- Run GET/PATCH of LocationIndicatorActive
```
$ curl -k -H "X-Auth-Token: $token" -X GET \
https://${bmc}/redfish/v1/Systems/system/FabricAdapters/pcie_cable_card10/Ports/cxp_top
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/ \
pcie_cable_card10/Ports/cxp_top",
"@odata.type": "#Port.v1_11_0.Port",
"Id": "Port",
"LocationIndicatorActive": true,
"Name": "cxp_top"
}
$ curl -k -H "X-Auth-Token: $token" -X GET \
https://${bmc}/redfish/v1/Systems/system/FabricAdapters/pcie_cable_card10/Ports/cxp_bot
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/ \
pcie_cable_card10/Ports/cxp_bot",
"@odata.type": "#Port.v1_11_0.Port",
"Id": "Port",
"LocationIndicatorActive": false,
"Name": "cxp_bot"
}
```
```
$ curl -k -H "Content-Type: application/json" -X PATCH -d \
'{"LocationIndicatorActive":false}' \
https://${bmc}/redfish/v1/Systems/system/FabricAdapters/pcie_cable_card10/Ports/cxp_top
$ curl -k -H "X-Auth-Token: $token" -X GET \
https://${bmc}/redfish/v1/Systems/system/FabricAdapters/pcie_cable_card10/Ports/cxp_top
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/ \
pcie_cable_card10/Ports/cxp_top",
"@odata.type": "#Port.v1_11_0.Port",
"Id": "Port",
"LocationIndicatorActive": false,
"Name": "cxp_top"
}
```
Change-Id: I2cfe8a807cd6dc3bf3d6e50658b0d27a1253b887
Signed-off-by: Myung Bae <myungbae@us.ibm.com>
|
|
This commit is to add status and health information to Fabric Port like
other Redfish resources which implement State/Health and map them to
Present/Functional respectfully. State / Health of the Port is useful
information for inventory on a GUI/Debug/etc
If the `xyz.openbmc_project.Inventory.Item` interface does not exist,
the state status property is set to default "Enabled".
If the `xyz.openbmc_project.State.Decorator.OperationalStatus`
interface does not exist, the health status property is set to
default "OK".
Tested:
- Redfish Validator passed
- Check status from GET Port output
```
% curl -k -X GET https://${bmc}:18080/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4",
"@odata.type": "#Port.v1_7_0.Port",
"Id": "dp0_connector4",
"Location": {
"PartLocation": {
"ServiceLabel": "U78DA.ND0.WZS003T-P1-T4"
}
},
"Name": "dp0_connector4",
"Status": {
"Health": "OK",
"State": "Enabled"
}
}
```
Change-Id: Ibb625f2ef1378f77c9520426d2687e305b4f8be5
Signed-off-by: Myung Bae <myungbae@us.ibm.com>
|
|
This commit is to add location information to Port of FabricAdapter.
If Port LocationCode property is not found, it will not be shown.
Tested:
- Redfish Validator passed
- Check Location from GET Port output
```
% curl -k -X GET https://${bmc}:18080/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4",
"@odata.type": "#Port.v1_7_0.Port",
"Id": "dp0_connector4",
"Location": {
"PartLocation": {
"ServiceLabel": "U78DA.ND0.WZS003T-P1-T4"
}
},
"Name": "dp0_connector4"
}
```
Change-Id: Ie015b19612c03a9c656ad14a3f607da04cb4f901
Signed-off-by: Myung Bae <myungbae@us.ibm.com>
|
|
This implements 2 schemas for FabricAdapters [1][2].
The implementation uses `GetAssociatedSubTreePathsById` &
`GetAssociatedSubTreeById`.
- https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/69999
The association is defined via
- https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/62881.
The backend port examples are also committed via
- https://gerrit.openbmc.org/c/openbmc/openpower-vpd-parser/+/66540
- https://gerrit.openbmc.org/c/openbmc/openpower-vpd-parser/+/70888
- https://gerrit.openbmc.org/c/openbmc/openbmc/+/66541
The current submission only implements the basic properties of Port
(e.g. Id, Name etc) as a foundation of the future additional
properties.
- Location
- LocationIndicatorActive
- Status
One example of Ports is this cable card for the i/o expansion drawers
and modeling the 2 ports on the cable card [3]. These ports have an
identify led, a location code, and a status.
Tested:
- Redfish Validator passes
- perform GET methods like these:
```
curl -k -X GET https://${bmc}/redfish/v1/Systems/system/FabricAdapters/disk_backplane0
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0",
"@odata.type": "#FabricAdapter.v1_4_0.FabricAdapter",
"Id": "disk_backplane0",
...
"Ports": {
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports"
},
...
}
```
```
curl -k -X GET https://${bmc}/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports",
"@odata.type": "#PortCollection.PortCollection",
"Members": [
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4"
},
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector5"
}
],
"Members@odata.count": 2,
"Name": "Port Collection"
}
```
```
curl -k -X GET https://${bmc}:18080/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4",
"@odata.type": "#Port.v1_7_0.Port",
"Id": "dp0_connector4",
"Name": "dp0_connector4"
}%
```
Also try the invalid port like
```
curl -k -X GET https://${bmc}:18080/redfish/v1/Systems/system/FabricAdapters/io_module1/Ports/INVALID
{
"error": {
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The requested resource of type Port named 'INVALID' was not found.",
"MessageArgs": [
"Port",
"INVALID"
],
"MessageId": "Base.1.16.0.ResourceNotFound",
"MessageSeverity": "Critical",
"Resolution": "Provide a valid resource identifier and resubmit the request."
}
],
"code": "Base.1.16.0.ResourceNotFound",
"message": "The requested resource of type Port named 'INVALID' was not found."
}
}%
```
[1] https://redfish.dmtf.org/schemas/v1/PortCollection_v1.xml
[2] https://redfish.dmtf.org/schemas/v1/Port_v1.xml
[3] https://www.ibm.com/docs/en/power10?topic=details-pcie4-cable-adapter-fc-ej24-ccin-6b92
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I8c64c16764e85c0716e264263708b18f897a2c0c
Signed-off-by: Myung Bae <myungbae@us.ibm.com>
|
|
As part of a EventLog refactor, extract this function into a
log_services utility.
Tested: Only code extraction. Code compiles.
Change-Id: Iaa7aa583a38587c338280af2a9fff65d3732f301
Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
|
|
Deduplicate the logic to add a related item to a fw inventory item.
Tested: next patch in chain
Change-Id: I94455e165900011955de9196db49c7c89807ea3d
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
|
|
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>
|
|
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>
|
|
The PasswordChangeRequired error was incorrectly formatted. Per the
spec, it should be an error response and 403 on all requests except
for session creation, which is just a `@Message.ExtendedInfo`
annotation. See [1].
Tested:
- Built a romulus image
- Ran `passwd --expire root`
- curl to Managers and session creation
```
╰─○ curl -kv --user "$BMC_USER:$BMC_PASS" https: //localhost:2443/redfish/v1/Managers
< HTTP/2 403
{
"error": {
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The password provided for this account must be changed before access is granted. PATCH the Password property for this account located at the target URI '/redfish/v1/AccountService/Accounts/root' to complete this process.",
"MessageArgs": [
"/redfish/v1/AccountService/Accounts/root"
],
"MessageId": "Base.1.19.PasswordChangeRequired",
"MessageSeverity": "Critical",
"Resolution": "Change the password for this account using a PATCH to the Password property at the URI provided."
}
],
"code": "Base.1.19.PasswordChangeRequired",
"message": "The password provided for this account must be changed before access is granted. PATCH the Password property for this account located at the target URI '/redfish/v1/AccountService/Accounts/root' to complete this process."
}
}
╰─○ curl -kv -X POST -H 'Content-Type: application/json' -d '{"UserName": "root", "Password": "..."}' https://localhost:2443/redfish/v1/SessionService/Sessions
< HTTP/2 201
{
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The password provided for this account must be changed before access is granted. PATCH the Password property for this account located at the target URI '/redfish/v1/AccountService/Accounts/root' to complete this process.",
"MessageArgs": [
"/redfish/v1/AccountService/Accounts/root"
],
"MessageId": "Base.1.19.PasswordChangeRequired",
"MessageSeverity": "Critical",
"Resolution": "Change the password for this account using a PATCH to the Password property at the URI provided."
}
],
"@odata.id": "/redfish/v1/SessionService/Sessions/klDQdHSMME",
"@odata.type": "#Session.v1_7_0.Session",
"ClientOriginIPAddress": "0.0.0.0",
"Description": "Manager User Session",
"Id": "klDQdHSMME",
"Name": "User Session",
"Roles": [
"Administrator"
],
"UserName": "root"
}
```
[1]: https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.22.1.html#password-change-required-handling
Change-Id: I959607d75b97133b950f43a7563e510ba885e032
Signed-off-by: Joey Berkovitz <joey@berkovitz.us>
|
|
This reverts commit 8d26c0d3a9bf14f5ad36b89db3fd3ce0d428655c.
Reason for revert: This is causing the Gateway to clear while assigning the static IP
Change-Id: Ie7878e3ed25c2907fdf6e7bcb7a2a26aea78a367
Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>
|
|
This patch enables Redfish satellite aggregation through REST API
POST requests to /redfish/v1/AggregationService/AggregationSources.
Tested successfully on ubuntu22 using multiple python redfish mockup
servers as satellite bmcs.
The previous urlHasPrefix function incorrectly assumed it would receive
a full URL path, but it actually receives individual URL segments.
Replaced with segmentHasPrefix that vastly simplifies prefix matching
in the currentAggregationSources map.
Also removed the correct duplicated route in
redfish-core/lib/aggregation_service.hpp that was causing routing
conflicts.
The hardcoded 5B247A_ fallback remains temporarily and will be
addressed in change 83181 which adds D-Bus satellite support.
Change-Id: I41920ad270abe4b228b43280ea425b80d3f14b50
Signed-off-by: Kamran Hasan <khasan@nvidia.com>
|
|
It would be useful for both testing and production if one could create
aggregation sources dynamically, rather than using detected hardware.
Redfish sources might exist outside of the physical chassis in a way
that's detectable, so giving DC software a way to set up a non-trivial
aggregation topology make this more extensible.
Note, that as documented in AGGREGATION.md, only a single satellite
is supported by this feature. This patch does not change that
behavior, and implementing an entity-manager satellite will override
a POST created AggregationSource.
Tested:
Example commands succeed, and return the expected results.
```
curl -vvvv -k --http1.1 --user "root:0penBmc" --request DELETE https://192.168.7.2/redfish/v1/AggregationService/AggregationSources/
curl -vvvv -k --http1.1 --user "root:0penBmc" https://192.168.7.2/redfish/v1/AggregationService/AggregationSources -H "Content-Type: application/json" --request POST --data '{"HostName":"https://localhost:8000"}'
```
Redfish service validator passes.
Change-Id: I15711c3075645291b5f2555eefb80bb80418e7e5
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
It's ideal if the various BMCWEB_ROUTE lib calls do not call from one
another. This reduces the amount of code that's compiled each time
separately.
Tested: Code compiles.
Change-Id: I4822ce66c122f261cc6aa34bbd99371b7eff48c8
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
Restrict the admin user's privileges to only self-configuration when
the session state is in self-configure mode. Currently, the admin can
modify other users' information even when the admin session is in
isConfigureSelfOnly mode, which appears to be incorrect.
Eg:
1) Expire the admin user password
2) Login bmc with admin credentials
3) Password change required error is generated for the user
Expected after step 3
Admin should not be able to change any user information belonging to
other users until they have changed their own password.
Observed after step 3
Admin was able to change other user's information before changing own
password
Tested By:
1) Expire the admin password using passwd --expire
2) Change user name of other user as below
```
patch /redfish/v1/AccountService/Accounts/newuser1 -d '{"UserName": "newuser2"}'
```
3) Observed response
```
{
"error": {
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "There are insufficient privileges for the account or credentials associated with the current session to perform the requested operation.",
"MessageArgs": [],
"MessageId": "Base.1.19.InsufficientPrivilege",
"MessageSeverity": "Critical",
"Resolution": "Either abandon the operation or change the associated access rights and resubmit the request if the operation failed."
}
],
"code": "Base.1.19.InsufficientPrivilege",
"message": "There are insufficient privileges for the account or credentials associated with the current session to perform the requested operation."
}
}
```
4) Change the admin password
5) Do the step 2 above
6) Operation Resonded with Ok
Change-Id: I8d486e7b77d1ee072e1a49c5d9f8649e694d9d82
Signed-off-by: Abhilash Raju <abhilash.kollam@gmail.com>
|
|
It's not clear why CI doesn't catch this, but these calls don't really
seem to want to be done inline. Declare variables for them.
Tested: Code compiles on older gcc
Change-Id: Id6123b1d9f0f90a26ef2f19ed6c4deaf69c44588
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
This was added in 8b2521a5a3be479814beb316975bf3de0b4e378f but never
used.
Change-Id: I9ee4116ffd7021820da72c5a28a33bb171ca00db
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
The bmcweb has runtime errors when adding `additional-ports`
configuration.
```text
Dec 19 21:25:54 board systemd[1]: sockets.target: Wants dependency dropin /etc/systemd/system/sockets.target.wants/bmcweb_440 is not a valid unit name, ignoring.
```
and
```text
Dec 19 21:25:54 board systemd[1]: bmcweb_440.socket: Unit has no Listen setting (ListenStream=, ListenDatagram=, ListenFIFO=, ...). Refusing.
Dec 19 21:25:54 board systemd[1]: bmcweb_440.socket: Cannot add dependency job, ignoring: Unit bmcweb_440.socket has a bad unit file setting.
```
Update the code to fix that.
Change-Id: I792b9fdf29df40137fdbc7418b140e8445080961
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
|
|
Disabled redfish-allow-deprecated-power-thermal by default and set a
June 2026 date for its removal. Setting a date 10 months out, allows
plenty of time to move away.
It has been 5 years since Redfish put out the PowerSubsystem and
ThermalSubsystem. We have had
redfish-new-powersubsystem-thermalsubsystem enabled for a year and
half[1].
[1]: https://github.com/openbmc/bmcweb/commit/8615915cc51a468c1c0b6eabb684616d0f2abe0f
Tested: Inspection only.
Change-Id: I86502539830ee41380230accec812916fde12bd5
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
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>
|
|
When a PATCH request contains invalid IPv4 static addresses, the
gateway was being incorrectly cleared even though the static IP
configuration failed validation. This occurred because
HandleDHCPPatch function would clear the gateway based on the current
DHCP state without validating the static addresses first.
```
Problem:
- handleDHCPPatch() runs before handleIPv4StaticPatch()
- If DHCP was currently active, gateway got cleared immediately
- When static IP validation later failed, gateway remained cleared
- This caused working DHCP configurations to lose their gateway
Example scenario:
1. System has working DHCP: IP=10.0.2.15, Gateway=10.0.2.2
2. User sends PATCH with invalid static IP: Gateway="10.3.36"
3. handleDHCPPatch() clears gateway because DHCP is currently active
4. handleIPv4StaticPatch() fails validation and returns early
5. Result: Gateway lost (shows as 0.0.0.0), network potentially
broken
"IPv4Addresses": [
{
"Address": "10.0.2.15",
"AddressOrigin": "DHCP",
"Gateway": "0.0.0.0",
"SubnetMask": "255.255.255.0"
}
]
Solution:
- Add pre-validation of IPv4 static addresses before
handleDHCPPatch()
- Only clear gateway when DHCP is currently active AND IPv4 static
addresses are valid
- This handles the implicit DHCP→Static transition correctly
- Preserve existing gateway when static IP validation fails
- Ensure failed requests don't have side effects on working config
Logic:
- If system uses DHCP AND user provides valid static addresses:
Clear DHCP gateway to prepare for clean transition to static
- If static addresses are invalid: Preserve existing DHCP gateway
- If system already uses static config: No gateway clearing needed
Changes:
- Modified handleDHCPPatch() to accept hasValidIPv4StaticAddresses
parameter
- Added pre-validation step in main PATCH handler using
parseAddresses()
- Changed gateway clearing condition from dhcpBeingEnabled to
ipv4Active
- Added safety check to prevent clearing gateway on validation
failures
Testing:
- PATCH with invalid static IPs no longer affects working DHCP
gateway
- PATCH with valid static IPs on DHCP system properly clears
gateway for clean transition
- Mixed requests handle validation failures gracefully
- Static-to-static updates work without unnecessary gateway
clearing
~$ curl -k -N -X GET https://root:0penBmc@127.0.0.1:2443/redfish/v1/Managers/bmc/EthernetInterfaces/eth0
{
"@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces/eth0",
"@odata.type": "#EthernetInterface.v1_9_0.EthernetInterface",
"DHCPv4": {
"DHCPEnabled": true,
"UseDNSServers": true,
"UseDomainName": true,
"UseNTPServers": true
},
"DHCPv6": {
"OperatingMode": "Enabled",
"UseDNSServers": true,
"UseDomainName": true,
"UseNTPServers": true
},
"Description": "Management Network Interface",
"EthernetInterfaceType": "Physical",
"FQDN": "gb200nvl-bmc",
"HostName": "gb200nvl-bmc",
"IPv4Addresses": [
{
"Address": "10.0.2.15",
"AddressOrigin": "DHCP",
"Gateway": "10.0.2.2",
"SubnetMask": "255.255.255.0"
}
],
"IPv4StaticAddresses": [],
"IPv6AddressPolicyTable": [],
"IPv6Addresses": [
{
"Address": "fe80::86:6cff:feb4:1b3b",
"AddressOrigin": "LinkLocal",
"PrefixLength": 64
},
{
"Address": "fec0::86:6cff:feb4:1b3b",
"AddressOrigin": "DHCPv6",
"PrefixLength": 64
}
],
"IPv6DefaultGateway": "fe80::2",
"IPv6StaticAddresses": [],
"IPv6StaticDefaultGateways": [],
"Id": "eth0",
"InterfaceEnabled": true,
"LinkStatus": "LinkUp",
"MACAddress": "02:86:6c:b4:1b:3b",
"MTUSize": 1500,
"Name": "Manager Ethernet Interface",
"NameServers": [
"10.0.2.3"
],
"SpeedMbps": 100,
"StatelessAddressAutoConfig": {
"IPv6AutoConfigEnabled": true
},
"StaticNameServers": [],
"Status": {
"Health": "OK",
"State": "Enabled"
}
}
~$ curl -k -N -X PATCH https://root:0penBmc@127.0.0.1:2443/redfish/v1/Managers/bmc/EthernetInterfaces/eth0 -H "Content-Type: application/json" -d '{"IPv4StaticAddresses": [{"Address": "10.7.7.7", "SubnetMask": "255.255.0.0", "Gateway": "10.3.36"}]}' -v
< HTTP/1.1 400 Bad Request
< Allow: DELETE, GET, PATCH
< 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
< Content-Type: application/json
< Date: Wed, 06 Aug 2025 17:50:08 GMT
< Content-Length: 1138
<
{
"IPv4StaticAddresses/0/Address@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The value '\"\"' for the property IPv4StaticAddresses/0/Address is not a format that the property can accept.",
"MessageArgs": [
"\"\"",
"IPv4StaticAddresses/0/Address"
],
"MessageId": "Base.1.19.PropertyValueFormatError",
"MessageSeverity": "Warning",
"Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed."
}
],
"IPv4StaticAddresses/0/Gateway@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The value '\"10.3.36\"' for the property IPv4StaticAddresses/0/Gateway is not a format that the property can accept.",
"MessageArgs": [
"\"10.3.36\"",
"IPv4StaticAddresses/0/Gateway"
],
"MessageId": "Base.1.19.PropertyValueFormatError",
"MessageSeverity": "Warning",
"Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed."
}
]
}
$ curl -k -N -X GET https://root:0penBmc@127.0.0.1:2443/redfish/v1/Managers/bmc/EthernetInterfaces/eth0
{
"@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces/eth0",
"@odata.type": "#EthernetInterface.v1_9_0.EthernetInterface",
"DHCPv4": {
"DHCPEnabled": true,
"UseDNSServers": true,
"UseDomainName": true,
"UseNTPServers": true
},
"DHCPv6": {
"OperatingMode": "Enabled",
"UseDNSServers": true,
"UseDomainName": true,
"UseNTPServers": true
},
"Description": "Management Network Interface",
"EthernetInterfaceType": "Physical",
"FQDN": "gb200nvl-bmc",
"HostName": "gb200nvl-bmc",
"IPv4Addresses": [
{
"Address": "10.0.2.15",
"AddressOrigin": "DHCP",
"Gateway": "10.0.2.2",
"SubnetMask": "255.255.255.0"
}
],
"IPv4StaticAddresses": [],
"IPv6AddressPolicyTable": [],
"IPv6Addresses": [
{
"Address": "fe80::86:6cff:feb4:1b3b",
"AddressOrigin": "LinkLocal",
"PrefixLength": 64
},
{
"Address": "fec0::86:6cff:feb4:1b3b",
"AddressOrigin": "DHCPv6",
"PrefixLength": 64
}
],
"IPv6DefaultGateway": "fe80::2",
"IPv6StaticAddresses": [],
"IPv6StaticDefaultGateways": [],
"Id": "eth0",
"InterfaceEnabled": true,
"LinkStatus": "LinkUp",
"MACAddress": "02:86:6c:b4:1b:3b",
"MTUSize": 1500,
"Name": "Manager Ethernet Interface",
"NameServers": [
"10.0.2.3"
],
"SpeedMbps": 100,
"StatelessAddressAutoConfig": {
"IPv6AutoConfigEnabled": true
},
"StaticNameServers": [],
"Status": {
"Health": "OK",
"State": "Enabled"
}
}
```
Change-Id: Ic841344051681896bb6a0d3f8552ea9dfd92de9f
Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>
|
|
This option in meson 1.9 gets reformatted. Admittedly, it could be made
a little simpler with some variables, so do that instead.
Change-Id: I68a0bfdae27767b6dc5585d01596ddea598675fe
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
Within this namespace, we don't need to call crow, we are already in the
crow namespace.
Tested: Code compiles.
Change-Id: Ida57624ef1157f98f2719b5c3af536aebaca601e
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
Converting hpp -> cpp determined that these functions were unused. Fix
them.
Tested: Code compiles.
Change-Id: Ifb712cb12085c187847666194b59caa959f37f83
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
Add support for multi-host POST request-handling under the
/redfish/v1/Systems/{computerSystemId}/ redfish resource.
All multi-host supported redfish URIs can be found in this listing [1].
Multi-host meson options needed:
-Dexperimental-redfish-multi-computer-system=enabled
Tested:
POST route has been manually tested in web-ui on single-host hardware.
All possible power controls worked as expected. For multi-host this
was tested manually with curl in qemu. After requesting the expected
changes have been observed on dbus.
```
curl -k -X POST 'https://localhost:4443/redfish/v1/Systems/Yosemite_4_Sentinel_Dome_T1_Slot_1/Actions/ComputerSystem.Reset' \
-H 'X-Auth-Token: '"$BMCWEB_SESSION_TOKEN"'' \
-H "Content-Type: application/json" -d '{"ResetType": "GracefulShutdown"}'
root@yosemite4:~# busctl -l introspect xyz.openbmc_project.State.Host1 /xyz/openbmc_project/state/host1
NAME TYPE SIGNATURE RESULT/VALUE
...
xyz.openbmc_project.State.Host interface - - -
.AllowedHostTransitions property as 5 "xyz.openbmc_project.State.Host.Transition.Off" "xyz.openbmc_project.State.Host.Transition.On" "xyz.openbmc_project.State.Host.Transition.Reboot" "xyz.openbmc_project.State.Host.Transition.GracefulWarmReboot" "xyz.openbmc_project.State.Host.Transition.ForceWarmReboot" const
.CurrentHostState property s "xyz.openbmc_project.State.Host.HostState.TransitioningToOff" emits-change writable
.RequestedHostTransition property s "xyz.openbmc_project.State.Host.Transition.Off"
...
```
Change-Id: I5f2511939501d88fd700bcbffcfd810776d6a5b4
Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
|
|
Add support for multi-host PATCH request-handling under the
/redfish/v1/Systems/{computerSystemId}/ redfish resource.
All multi-host supported redfish URIs can be found in this listing [1].
Multi-host meson options needed:
-Dexperimental-redfish-multi-computer-system=enabled
Tested:
PATCH route has been requested via curl manually both on multi-
and single-host for every property, that this patch implements.
After each request the expected change has been observed on dbus.
```
curl -k -X PATCH 'https://localhost:4443/redfish/v1/Systems/Yosemite_4_Sentinel_Dome_T1_Slot_1' \
-H 'X-Auth-Token: '"$BMCWEB_SESSION_TOKEN"'' \
-H "Content-Type: application/json" -d '{"Boot":{"BootSourceOverrideTarget": "Hdd"}}'
root@yosemite4:~# busctl introspect -l xyz.openbmc_project.Settings /xyz/openbmc_project/control/host1/boot
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
...
xyz.openbmc_project.Control.Boot.Source interface - - -
.BootSource property s "xyz.openbmc_project.Control.Boot.Source.Sources.Disk" emits-change writable
...
```
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/76118
Change-Id: Iaf9c1c01d44189707579b468f309577df3b6fad5
Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
|
|
Add support for multi-host GET request-handling under the
/redfish/v1/Systems/{computerSystemId}/ redfish resource.
All multi-host supported redfish URIs can be found in this listing [1].
Multi-host meson options needed:
-Dexperimental-redfish-multi-computer-system=enabled
Tested: Validator passes on single-host machine and yv4 qemu emulation.
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/76118
Change-Id: I67c17c3dd7a354fa9a2ebbc56d4def7a7e788909
Signed-off-by: Oliver Brewka <oliver.brewka@9elements.com>
|
|
clang warns these can never be hit, which is true. Remove them.
Change-Id: I37b2bc4253e98257ec08f65e2c9de2ce2fd17706
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
In one of the migrations, these are no longer used. Remove them.
Change-Id: Id4f8f9129ff26b4e264b9ef6c526862081f67f0c
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
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>
|
|
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>
|
|
The IndicatorLED property has been deprecated by Redfish since September
2020. The Redfish Service Validator reports a WARNING for this property:
```
WARNING - IndicatorLED: The given property is deprecated: This property has been deprecated in favor of the `LocationIndicatorActive` property.
```
The LocationIndicatorActive property is now implemented in bmcweb in
all places where IndicatorLED was implemented. So a new meson option
(redfish-allow-deprecated-indicatorled) is being added to control
whether this property is part of get or patch requests. The option is
disabled by default with plans to remove the option by March 2026.
Tested:
- Built with option enabled and confirmed IndicatorLED still part of
Redfish responses and can be patched.
- Built with option disabled and confirmed Redfish Service Validator no
longer reports the warning.
- Built with option disabled and confirmed IndicatorLED no longer part
of Redfish responses and patch fails appropriately.
```
curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH -d '{"IndicatorLED":"Blinking"}' https://${bmc}/redfish/v1/Systems/system
{
"error": {
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The property IndicatorLED is not in the list of valid properties for the resource.",
"MessageArgs": [
"IndicatorLED"
],
"MessageId": "Base.1.19.PropertyUnknown",
"MessageSeverity": "Warning",
"Resolution": "Remove the unknown property from the request body and resubmit the request if the operation failed."
}
],
"code": "Base.1.19.PropertyUnknown",
"message": "The property IndicatorLED is not in the list of valid properties for the resource."
}
}
curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH -d '{"IndicatorLED":"Off"}' https://${bmc}/redfish/v1/Chassis/chassis
{
"error": {
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The property IndicatorLED is not in the list of valid properties for the resource.",
"MessageArgs": [
"IndicatorLED"
],
"MessageId": "Base.1.19.PropertyUnknown",
"MessageSeverity": "Warning",
"Resolution": "Remove the unknown property from the request body and resubmit the request if the operation failed."
}
],
"code": "Base.1.19.PropertyUnknown",
"message": "The property IndicatorLED is not in the list of valid properties for the resource."
}
}
```
Change-Id: I2c0d415a7a54aa3122b18d2a1aa69bd9259d567e
Signed-off-by: Janet Adkins <janeta@us.ibm.com>
|
|
Declare this inline void, not the other way around to be consistent.
This is done to support regex fixing of elements.
Change-Id: Ibfec17042b94c07ddc34048881fe5c7d0a290971
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
This comment snuck in, probably added by clang-format. Fix it.
Change-Id: I0c272922c040ab80e9f5849698b063b0cfaea9e8
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
Modify get/set of LocationIndicatorActive property for Systems to use
identifying association instead of hard-coding led group.[1]
History: Almost 5 years ago IBM added support for this property to the
Systems.[2] That original implementation assumed the system and chassis
shared the same LED and just looked at the enclosure_identify_blink and
enclosure_identify like the existing IndicatorLED property did.
IBM renamed these functions getSystemLocationIndicatorActive and
setSystemLocationIndicatorActive.[3]
The interest from other companies has mostly been around IndicatorLED
(old deprecated LED property).[4]
Today, LEDs have the association documented above and used elsewhere
like PowerSupplies, Fans, etc. Switching to this association: 1) follows
the design 2) allows multiple chassis support 3) doesn't assume your
system led is your chassis led.
This is the last caller of the getSystemLocationIndicatorActive() and
setSystemLocationIndicatorActive() functions so they are being removed.
[1] https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/58299
[2] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/36886
[3] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/57765
[4] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/27301
Tested:
- Redfish Service Validator passes
- Confirm able to set and get LED
1. Get for Systems
```
curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Systems/system
{
{
"@odata.id": "/redfish/v1/Systems/system",
"@odata.type": "#ComputerSystem.v1_22_0.ComputerSystem",
...
"LocationIndicatorActive": false,
...
}
```
2. Set for Systems
```
curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH -d '{"LocationIndicatorActive": true}' https://${bmc}/redfish/v1/Systems/system
curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Systems/system
{
"@odata.id": "/redfish/v1/Systems/system",
"@odata.type": "#ComputerSystem.v1_22_0.ComputerSystem",
...
"LocationIndicatorActive": true,
...
}
```
Change-Id: I1c06621586148d4b299b1f8e1ee1fb0ccdc51f10
Signed-off-by: George Liu <liuxiwei@inspur.com>
Signed-off-by: Janet Adkins <janeta@us.ibm.com>
Co-authored-by: George Liu <liuxiwei@inspur.com>
|
|
This file was originally created by listing all clang-tidy checks (from
version 7 ish) and dumping them into a file. Over time it has evolved,
but now there are quite a few people using this file as an example to
enable other repos with tidy, so lets "tidy up" the checks we enable in
this list that probably shouldn't be enabled.
OSX-specific checks are removed. We don't deploy code on osx
The one google style guide check is removed for use of explicit. In
practice this didn't help much.
boost-use-to-string is removed. To my knowledge it has never flagged a
failure.
Change-Id: Ic4c0fdc31d66219d77ca30a2ce8ee514e52176b3
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
Resolve tracing of CRITICAL message on 1xx, 204(no-content) and 304(not
modified) when there is no body in the response.
The code is changed to check that 1xx, 204 and 304 response with
payloadsize of 0 will not trace the CRITICAL message.
Removed setting of no_content on PATCH that was being done before other
functions are called.
Tested: Used the following commands to check that the CRITICAL message
is no longer being traced for no-content and not modified response with
no body.
204 no-content
```
curl -k -H "Content-Type: application/json" \
-d '{"PowerRestorePolicy":"LastState"}' \
-X PATCH https://${bmc_ip}/redfish/v1/Systems/system
```
```
curl -k -H "Content-Type: application/json" \
-H "X-Auth-Token: $bmc_token" -X PATCH \
-d '{"LocationIndicatorActive":true}' \
https://${bmc_ip}/redfish/v1/Managers/bmc
```
304 not modified
```
curl -k -i https://${bmc_ip}/redfish/ --etag-save etag.out \
-H 'If-Modified-Since: Tue, 21 Nov 2050 08:00:00 GMT'
HTTP/1.1 200 OK
Allow: GET
.
.
.
ETag: "B3A9EAA1"
Content-Type: application/json
Date: Thu, 14 Aug 2025 22:07:27 GMT
Content-Length: 26
ETAG=`cat etag.out`; echo $ETAG
curl -k -i https://${bmc_ip}/redfish/ -H "If-None-Match: ${ETAG}"
HTTP/1.1 304 Not Modified
Allow: GET
.
.
.
ETag: "B3A9EAA1"
Date: Thu, 14 Aug 2025 22:16:27 GMT
Content-Length: 0
```
Change-Id: I98cc096c1f7e506687d4a6bf5a2e51b2231c0d68
Signed-off-by: Abiola Asojo <abiola.asojo@ibm.com>
|
|
Generate the update registry, needed to return correct error messages
from update service.
Change-Id: Ifaa699cad8531070aea47d2476c1834df7c61e08
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
|
|
This updates SubordinateOverrides permissions on Crashdump LogServices.
1) GET methods
```
- /redfish/v1/Systems/<str>/LogServices/Crashdump/
- /redfish/v1/Systems/<str>/LogServices/Crashdump/Entries/<str>/
```
2) POST methods
```
- /redfish/v1/Systems/<str>/LogServices/Crashdump/Actions/LogService.ClearLog/
- /redfish/v1/Systems/<str>/LogServices/Crashdump/Actions/LogService.CollectDiagnosticData/
```
Tested:
- Redfish Validator passes
Change-Id: Ief83b4aa6a778ee1ed0d0de8725979a5c1266e56
Signed-off-by: Myung Bae <myungbae@us.ibm.com>
|
|
Add support for Ampere CPUs to processor.hpp. They use the ARM
architecture and the ARM-A64 (AArch64) instruction set.
Change-Id: I49ebe574928cf71e4efa07a7448686b13690bde5
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
|
|
Problem:
It is observed that PATCH request network protocol using request
```
curl -k -u ${credentials} -X PATCH https://${IP}/redfish/v1/Managers/bmc/NetworkProtocol -d '{"NTP": {"ProtocolEnabled": true, "NTPServers": ["\n"]}}' -H "Content-Type:application/json"
returns 204 response.
Root cause : The 400 Bad response set by bmcweb when NTP server set
value "NTPServers": ["\n"] is overridden by "ProtocolEnabled" response
value of 204 therefore we were getting 204 response for invalid
arguments as well.
Fix : Check the response of "NTPServers" value in async object and set
the response code
The MRs for PDI and phosphor network are as below
https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/82693
https://gerrit.openbmc.org/c/openbmc/phosphor-networkd/+/82694
Testing:
curl -k -u ${credentials} -X PATCH https://${IP}/redfish/v1/Managers/bmc/NetworkProtocol -d '{"NTP": {"ProtocolEnabled": true, "NTPServers": ["\n"]}}' -H "Content-Type:application/json"
{
"error": {
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The property 'NTP/NTPServers/' with the requested value of '[\"\\n\"]' could not be written because the value does not meet the constraints of the implementation.",
"MessageArgs": [
"NTP/NTPServers/",
"[\"\\n\"]"
],
"MessageId": "Base.1.19.PropertyValueIncorrect",
"MessageSeverity": "Warning",
"Resolution": "None."
}
],
"code": "Base.1.19.PropertyValueIncorrect",
"message": "The property 'NTP/NTPServers/' with the requested value of '[\"\\n\"]' could not be written because the value does not meet the constraints of the implementation."
}
}
```
Change-Id: Icfbfc3d065a6a307344093eef8b2eb3e39c70f83
Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>
|
|
This warning was added when we were on c++20, and we didn't want
warnings about c++23 features. We're on c++23 now, so it's not needed
Change-Id: Ie062f4536b745ca76fd3364ecb642ff18812dc96
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
this commit is enhancing the gen auth cert test by using better
flag option for http2 and not flipping the value
Change-Id: I989606807ba0f286a16c1e6e3f1bfc5dbe6a430d
Signed-off-by: Malik Akbar Hashemi Rafsanjani <malikrafsan@meta.com>
|
|
Extract getSoftwareVersionCallback from inline lambda for readability
reasons.
Tested: Next patches in series.
Change-Id: I5b89bcfb47b55336bbbe70063bb68f94f2513a21
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
|
|
Extract handleUpdateServiceFirmwareInventoryGetCallback for readability
reasons.
Tested: on Tyan s8030. fw inventory response as before.
```
curl --insecure --user root:root https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/HostSPIFlash_7715
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/HostSPIFlash_7715",
"@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
"Description": "Unknown image",
"Id": "HostSPIFlash_7715",
"Name": "Software Inventory",
"Status": {
"Health": "Warning",
"HealthRollup": "OK",
"State": "Disabled"
},
"Updateable": true,
"Version": "Unknown"
}
```
Change-Id: Ib71edd91c82dfe1893f7eca1d53b0b05f5bf1415
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
|
|
with this commit, we will make the integration testing of
`generate_auth_certificate` to use http2 by default
this is aligned with previous commit to enable http2 for mutual TLS
Change-Id: I79bb95ef1ad3aaa597900c122372a06d205386f2
Signed-off-by: Malik Akbar Hashemi Rafsanjani <malikrafsan@meta.com>
|