#
f90af522 |
| 18-Mar-2025 |
Abiola Asojo <abiola.asojo@ibm.com> |
Fix getting a response for wrong URI
Resolve getting a response for wrong URI in Update Service URI (/redfish/v1/UpdateService/FirmwareInventory/)
- After the fix a wrong URI that partially matches
Fix getting a response for wrong URI
Resolve getting a response for wrong URI in Update Service URI (/redfish/v1/UpdateService/FirmwareInventory/)
- After the fix a wrong URI that partially matches the last characters in a valid URI now gets a 404 as shown in the example below :
$ curl -k -H "X-Auth-Token: $bmc_token" -X GET https://$bmc/redfish/v1/UpdateService/FirmwareInventory/5e { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The resource at the URI '/redfish/v1/ UpdateService/FirmwareInventory/5e' was not found.", "MessageArgs": [ "/redfish/v1/UpdateService/FirmwareInventory/5e" ], "MessageId": "Base.1.19.ResourceMissingAtURI", "MessageSeverity": "Critical", "Resolution": "Place a valid resource at the URI or correct the URI and resubmit the request." } ], "code": "Base.1.19.ResourceMissingAtURI", "message": "The resource at the URI '/redfish/v1/ UpdateService/FirmwareInventory/5e' was not found." }
- Two common errors were fixed with the changes - imprecise-matching - not-responding-to-404
- The fix also includes changes to the software images to only look under /xyz/openbmc_project/software/.
Tested: No longer getting a response for wrong URI in Update Service URI.
Change-Id: I72d8452b8ca1ef095d093a57bc14fade380be617 Signed-off-by: Abiola Asojo <abiola.asojo@ibm.com>
show more ...
|
#
1940677a |
| 04-Mar-2025 |
Gunnar Mills <gmills@us.ibm.com> |
Up the default code update timeout
This timer is the time to write the image to /tmp/images/, the code update app to untar and create a xyz.openbmc_project.Software.Activation interface.
We have se
Up the default code update timeout
This timer is the time to write the image to /tmp/images/, the code update app to untar and create a xyz.openbmc_project.Software.Activation interface.
We have seen this take just over 25 seconds a few times, in one case it took 30 seconds, and this times out. We are using a large image, 150MB+, and other requests are going on but believe our use case is valid, so bump the default timeout to 50 seconds.
In the times it has timed out, the time appears split between 1 and 2. With 1) writing the image to /tmp/images and inotify firing and 2) phosphor-version-software-manager untarring the image and creating the interface.
In the future this code should go away with the new code update, this commit is more to note code updates can be slow due to the BMC's limited resources and larger code update images exist.
``` // Can conclude the timer was set at 13:55:27... Wed Feb 5 13:55:42 2025 xxx phosphor-version-software-manager: Untaring /tmp/images/f285ea12-b506-4182-86bc-b9706f09bc1f to /tmp/images/imagek9D7Iu Wed Feb 5 13:55:52 2025 xxx bmcweb: [ERROR update_service.hpp:427] FW image may has already been uploaded to server Wed Feb 5 13:55:52 2025 xxx bmcweb: [ERROR update_service.hpp:426] Timed out waiting for firmware object being created Wed Feb 5 13:55:52 2025 xxx bmcweb: [CRITICAL error_messages.cpp:287] Internal Error /usr/src/debug/bmcweb/1.0+git/redfish-core/lib/update_service.hpp(438:41) `void redfish::afterAvailbleTimerAsyncWait(const std::shared_ptr<bmcweb::AsyncResp>&, const boost::system::error_code&)`: ```
Tested: Since bumping this timeout haven't hit this timeout.
Change-Id: I9f2ce9a24a55d72484113b3fbe226dc76b0bd2a5 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
d98a2f93 |
| 06-Feb-2025 |
Ed Tanous <etanous@nvidia.com> |
Remove getIoContext from Request object
At one point it was thought that we could pass the io_context object through the request object, and have the potential to run multiple io_context instances (
Remove getIoContext from Request object
At one point it was thought that we could pass the io_context object through the request object, and have the potential to run multiple io_context instances (one per connection).
Given the safety refactoring we had to do in 9838eb20341568971b9543c2187372d20daf64aa that idea is on ice for the moment, and would need a major rethink of code to be viable. For the moment, and in prep for https://gerrit.openbmc.org/c/openbmc/bmcweb/+/75668
make sure all calls are pulling from the same io object.
Tested: Unit tests pass. Redfish service validator passes.
Change-Id: I877752005c4ce94efbc13ce815f3cd0d99cc3d51 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
504af5a0 |
| 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I2f0b9d0fb6e01ed36a2f34c750ba52de3b6d15d1 Signed-off-by: Patrick Williams <p
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I2f0b9d0fb6e01ed36a2f34c750ba52de3b6d15d1 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
d7857201 |
| 28-Jan-2025 |
Ed Tanous <etanous@nvidia.com> |
Fix includes
Clang-tidy misc-include-cleaner appears to now be enforcing significantly more headers than previously. That is overall a good thing, but forces us to fix some issues. This commit is
Fix includes
Clang-tidy misc-include-cleaner appears to now be enforcing significantly more headers than previously. That is overall a good thing, but forces us to fix some issues. This commit is largely just taking the clang-recommended fixes and checking them in. Subsequent patches will fix the more unique issues.
Note, that a number of new ignores are added into the .clang-tidy file. These can be cleaned up over time as they're understood. The majority are places where boost includes a impl/x.hpp and x.hpp, but expects you to use the later. include-cleaner opts for the impl, but it isn't clear why.
Change-Id: Id3fdd7ee6df6c33b2fd35626898523048dd51bfb Signed-off-by: Ed Tanous <etanous@nvidia.com> Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
40e9b92e |
| 10-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Use SPDX identifiers
SPDX identifiers are simpler, and reduce the amount of cruft we have in code files. They are recommended by linux foundation, and therefore we should do as they allow.
This pa
Use SPDX identifiers
SPDX identifiers are simpler, and reduce the amount of cruft we have in code files. They are recommended by linux foundation, and therefore we should do as they allow.
This patchset does not intend to modify any intent on any existing copyrights or licenses, only to standardize their inclusion.
[1] https://www.linuxfoundation.org/blog/blog/copyright-notices-in-open-source-software-projects
Change-Id: I935c7c0156caa78fc368c929cebd0f068031e830 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
deae6a78 |
| 11-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Move getProperty calls to utility
Having all dbus calls run through the same utility reduces the amount of generated code, and more importantly, gives us a place where we can log the requests and re
Move getProperty calls to utility
Having all dbus calls run through the same utility reduces the amount of generated code, and more importantly, gives us a place where we can log the requests and responses to help with debugging.
Tested: Redfish service validator passes.
Change-Id: Ic1bf45130b5069cd57f7af26e12c8d3159c87c67 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
6a37140a |
| 03-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Put simple update behind an option
4e338b2313f9f2a91aa1fb36693e36a328d58933 Removed tftp update support from the codebase, but left SimpleUpdate in a non functional state.
Given that a number of fo
Put simple update behind an option
4e338b2313f9f2a91aa1fb36693e36a328d58933 Removed tftp update support from the codebase, but left SimpleUpdate in a non functional state.
Given that a number of forks have implemented the HTTPS/SCP versions of simple update, we don't want to fully delete the code at this time, so for the moment put it behind an option flag.
Tested: WIP
Change-Id: Ibab1e3a48ff640787eabf8ed5f7a5c08e3381307 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
48fb20b9 |
| 17-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Update error types to use dmtf
In a prior patch these were InvalidUpload, an openbmc oem defined message. Map the messages to dmtf base registry messages, primarily MissingOrMalformedPart
Tested:
Update error types to use dmtf
In a prior patch these were InvalidUpload, an openbmc oem defined message. Map the messages to dmtf base registry messages, primarily MissingOrMalformedPart
Tested: on last patch of series.
Change-Id: I0b04deabb01b8e299af259e0036f6007737068c6 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
c87294a6 |
| 17-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Remove InvalidUpload response code
Invalid response is something from the openbmc registry, so it's not a valid thing to return as a response code. For this patch, remove the generated error messag
Remove InvalidUpload response code
Invalid response is something from the openbmc registry, so it's not a valid thing to return as a response code. For this patch, remove the generated error message, and replace the one place it's used with internalError.
Tested: On last patch in series.
Change-Id: I8215935f00923c72fd7763645c06d0b6af73c01d Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
afc474ae |
| 09-Oct-2024 |
Myung Bae <myungbae@us.ibm.com> |
Format readjson
clang-format may potentially reformat the readJson calls if they may have more keys or key names are longer. This makes formatting in a way that's readable by forcing to break a line
Format readjson
clang-format may potentially reformat the readJson calls if they may have more keys or key names are longer. This makes formatting in a way that's readable by forcing to break a line for each key using an empty-comment (`//`) each line.
It also allows trivially alphabetizing the list such that new additions are less likely to have merge conflicts.
Tested: - Check whitespace only. - Code compiles. - Redfish Service Validator with the same results before this
Change-Id: I3824a8c4faa9fa7c820d5d2fab6b565404926e2c Signed-off-by: Ed Tanous <etanous@nvidia.com> Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
#
89449bbe |
| 12-Aug-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
update service: update the updateable BMC
Update the updateable BMC rather than functional BMC because for dual image systems functional BMC is not updated in place.
Tested: ``` > curl -k -H "X-Aut
update service: update the updateable BMC
Update the updateable BMC rather than functional BMC because for dual image systems functional BMC is not updated in place.
Tested: ``` > curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/octet-stream" -X POST -T obmc-phosphor-image-romulus-20240529184214.static.mtd.tar https://${bmc}/redfish/v1/UpdateService/update { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "Id": "0", "TaskState": "Running", "TaskStatus": "OK" } ```
Change-Id: Ia11bd276ba5ac1d849942b33a7b6c50e74335024 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
#
6be832e2 |
| 10-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Remove duplicated block comments
Static analysis flags that these two comments are redundant[1], which seem to be duplicated a lot in copyright headers. Although there is a larger discussion that c
Remove duplicated block comments
Static analysis flags that these two comments are redundant[1], which seem to be duplicated a lot in copyright headers. Although there is a larger discussion that can likely be had.
[1] https://sonarcloud.io/project/issues?issueStatuses=OPEN%2CCONFIRMED&id=edtanous_bmcweb&open=AY9_HYjgKXKyw1ZFwgVP
Tested: Comment change only. Code compiles.
Change-Id: Ia960317761f558a87842347ca0b5f3da63f8e730 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
4ff0f1f4 |
| 04-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
static -> inline
Declaring a function static in a header makes no sense, because a header isn't a compile unit. Find all the issues and replace them with inline.
Change-Id: Icfc2b72d94b41a3a880da1
static -> inline
Declaring a function static in a header makes no sense, because a header isn't a compile unit. Find all the issues and replace them with inline.
Change-Id: Icfc2b72d94b41a3a880da1ae6975beaa30a6792b Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
bd79bce8 |
| 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: Iceec1dc95b6c908ec6c21fb40093de9dd18bf11a Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
587090cd |
| 12-Aug-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
update service: use return path for task callback
Currently the update service is using the start update path for monitoring the activation interfaces, but instead it needs to use the object path re
update service: use return path for task callback
Currently the update service is using the start update path for monitoring the activation interfaces, but instead it needs to use the object path returned by start update API. By using the returned path the changes to the activation interface are passed over to the task status. For more details refer to design - https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/65738 https://gerrit.openbmc.org/c/openbmc/docs/+/65739
Tested: Start update with ApplyTime as onReset ``` > curl -k -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/3c956be0\"],\"@Redfish.OperationApplyTime\":\"OnReset\"};type=application/json" -F "UpdateFile=@obmc-phosphor-image-romulus-20240529184214.static.mtd.tar;type=application/octet-stream" https://${bmc}/redfish/v1/UpdateService/update { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "Id": "0", "TaskState": "Running", "TaskStatus": "OK" }
...
> curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/TaskService/Tasks/0 { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "EndTime": "2024-08-12T07:35:42+00:00", "HidePayload": false, "Id": "0", "Messages": [ ... }, "PercentComplete": 100, "StartTime": "2024-08-12T07:35:15+00:00", "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0", "TaskState": "Completed", "TaskStatus": "OK" } ```
Change-Id: Ib17c5da329361fc59b0a1923ace214a8bf9e8371 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
#
4e338b23 |
| 14-Jun-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
update service: remove tftp simple update flow
Remove the flow for tftp simple update as this is an insecure method and there is no active user for this.
Redfish service validator passing: ``` Elap
update service: remove tftp simple update flow
Remove the flow for tftp simple update as this is an insecure method and there is no active user for this.
Redfish service validator passing: ``` Elapsed time: 0:04:33 metadataNamespaces: 3727 pass: 5184 passAction: 16 passGet: 213 passRedfishUri: 205 skipNoSchema: 3 skipOptional: 3535 unvalidated: 1 warnDeprecated: 5 warningPresent: 6 ```
Change-Id: I466dcb09be4ee806451abe91ab86d8b3b001a333 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
#
539d8c6b |
| 19-Jun-2024 |
Ed Tanous <ed@tanous.net> |
Consistently use generated enumerations
This commit causes all of Redfish to use generated enum values for enum types. Using generated code prevents problems, and makes it more clear what types are
Consistently use generated enumerations
This commit causes all of Redfish to use generated enum values for enum types. Using generated code prevents problems, and makes it more clear what types are allowed.
Doing this found two places where we had structs that didn't fulfill the schema. They have been commented, but will be fixed with a breaking change at some point in the future.
Tested: WIP
Change-Id: I5fdd2f2dfb6ec05606a522e1f4e331f982c8e476 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
08f61d53 |
| 17-Jul-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
update service: simplify object path lookup
Simplify the object path lookup for the update interface by placing it at the same object path as the version interface. This involves moving the update i
update service: simplify object path lookup
Simplify the object path lookup for the update interface by placing it at the same object path as the version interface. This involves moving the update interface to /xyz/openbmc_project/software/<swId> rather than /xyz/openbmc_project/software/<deviceX>. This change is based on - https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/65738 https://gerrit.openbmc.org/c/openbmc/docs/+/65739
Related Commit from phosphor-bmc-code-mgmt - https://gerrit.openbmc.org/c/openbmc/phosphor-bmc-code-mgmt/+/70668
Tested - FirmwareInventory as TargetURI: ``` > curl -k -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/3c956be0\"],\"@Redfish.OperationApplyTime\":\"Immediate\"};type=application/json" -F "UpdateFile=@obmc-phosphor-image-romulus-20240529184214.static.mtd.tar;type=application/octet-stream" https://${bmc}/redfish/v1/UpdateService/update { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "Id": "0", "TaskState": "Running", "TaskStatus": "OK" } ```
/redfish/v1/Managers/bmc as Target URI: ``` > curl -k -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/Managers/bmc\"],\"@Redfish.OperationApplyTime\":\"Immediate\"};type=application/json" -F "UpdateFile=@obmc-phosphor-image-romulus-20240529184214.static.mtd.tar;type=application/octet-stream" https://${bmc}/redfish/v1/UpdateService/update { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "Id": "0", "TaskState": "Running", "TaskStatus": "OK" } ```
Redfish service validator passing: ``` Elapsed time: 0:04:33 metadataNamespaces: 3727 pass: 5184 passAction: 16 passGet: 213 passRedfishUri: 205 skipNoSchema: 3 skipOptional: 3535 unvalidated: 1 warnDeprecated: 5 warningPresent: 6 ```
Change-Id: I6c22a904cecaf8e3043706990ae3a71da8f5addf Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
#
ac1e1246 |
| 11-Jul-2024 |
Ed Tanous <ed@tanous.net> |
Make multipart use consistent parse
This is an instance of common error #5. Fix it.
Tested: Code compiles. Inspection only.
Change-Id: I5580a9789930ffab6513a03689b633d5201e72a4 Signed-off-by: Ed
Make multipart use consistent parse
This is an instance of common error #5. Fix it.
Tested: Code compiles. Inspection only.
Change-Id: I5580a9789930ffab6513a03689b633d5201e72a4 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
9dae4dee |
| 03-Jun-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
add D-Bus interface for unstructured HTTP push
Add the D-Bus interface for unstructured HTTP push update. Unstructured HTTP push updates are discouraged in favor of Multipart-form based updates, hen
add D-Bus interface for unstructured HTTP push
Add the D-Bus interface for unstructured HTTP push update. Unstructured HTTP push updates are discouraged in favor of Multipart-form based updates, hence D-Bus interface has been added only for BMC updates for backward compatibility. Fore more details refer to [1].
Tested: ``` > curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/octet-stream" -X POST -T obmc-phosphor-image-romulus-20240529184214.static.mtd.tar https://${bmc}/redfish/v1/UpdateService/update { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "Id": "0", "TaskState": "Running", "TaskStatus": "OK" } ```
[1]: https://www.dmtf.org/sites/default/files/standards/documents/DSP2062_1.0.1.pdf
Change-Id: I365c0c188190032cb191940072399d9abd8a87b3 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
#
e93abac6 |
| 14-Jun-2024 |
Ginu George <ginugeorge@ami.com> |
Pass redfishPropertyName earlier argument
It was pointed out that the setDbusProperty method should have an end that approximately matches dbus-send and busctl set-property in its arguments, to aid
Pass redfishPropertyName earlier argument
It was pointed out that the setDbusProperty method should have an end that approximately matches dbus-send and busctl set-property in its arguments, to aid with debug. This seems reasonable.
Tested: Redfish service validator passes.
Change-Id: Ic20295d93c71c957e3e76704e1eda9da187861b1 Signed-off-by: Ginu George <ginugeorge@ami.com> Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
9c95be77 |
| 03-Jun-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
remove unstructured HTTP patch for ApplyOptions
Remove the support for Unstructured HTTP patch as the main user of this Redfish API is IBM and they only use this API to set the ApplyTime as immediat
remove unstructured HTTP patch for ApplyOptions
Remove the support for Unstructured HTTP patch as the main user of this Redfish API is IBM and they only use this API to set the ApplyTime as immediate. Hence ApplyTime will be passed as immediate (as default) for Unstructured HTTP POST updates. Modify the get for ApplyTime to only return immediate.
Tested: Patch operation removal test: ``` > curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH -d '{"HttpPushUriOptions":{"HttpPushUriApplyTime":{"ApplyTime":"Immediate"}}}' https://${bmc}/redfish/v1/UpdateService { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The HTTP method is not allowed on this resource.", "MessageArgs": [], "MessageId": "Base.1.16.0.OperationNotAllowed", "MessageSeverity": "Critical", "Resolution": "None." } ], "code": "Base.1.16.0.OperationNotAllowed", "message": "The HTTP method is not allowed on this resource." } } ```
ApplyTime get test: ``` > curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/UpdateService { "@odata.id": "/redfish/v1/UpdateService", "@odata.type": "#UpdateService.v1_11_1.UpdateService", "Actions": { "#UpdateService.SimpleUpdate": { "TransferProtocol@Redfish.AllowableValues": [ "HTTPS" ], "target": "/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate" } }, "Description": "Service for Software Update", "FirmwareInventory": { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory" }, "HttpPushUri": "/redfish/v1/UpdateService/update", "HttpPushUriOptions": { "HttpPushUriApplyTime": { "ApplyTime": "Immediate" } }, "Id": "UpdateService", "MaxImageSizeBytes": 31457280, "MultipartHttpPushUri": "/redfish/v1/UpdateService/update", "Name": "Update Service", "ServiceEnabled": true } ```
Change-Id: I25d21119d74a3411cd1fd581c9d56e1e9e1604f8 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
#
049079f6 |
| 02-Jun-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
update service: update applytime value
Update interface has been updated to use ApplyTime from ApplyTime interface. This helps to avoid any conversions between the values. Hence update the BMCWeb to
update service: update applytime value
Update interface has been updated to use ApplyTime from ApplyTime interface. This helps to avoid any conversions between the values. Hence update the BMCWeb to reflect this change.
Tested: ``` curl -k -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/3c956be0\"],\"@Redfish.OperationApplyTime\":\"Immediate\"} ;type=application/json" -F "UpdateFile=@obmc-phosphor-image-romulus-20240529184214.static.mtd.tar;type=application/octet-stream" https://${bmc}/redfish/v1/UpdateService/update { "@odata.id": "/redfish/v1/TaskService/Tasks/2", "@odata.type": "#Task.v1_4_3.Task", "Id": "2", "TaskState": "Running", "TaskStatus": "OK" } ```
Change-Id: I311d8048d80616cc8933c3e32ca44b4cfa64b1e9 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
#
de0c960c |
| 29-Apr-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
updateservice: add start update D-Bus interface
Add the start update D-Bus interface based flow for multi-form content path. This involves mapping the TargetURI to the corresponding serviceName and
updateservice: add start update D-Bus interface
Add the start update D-Bus interface based flow for multi-form content path. This involves mapping the TargetURI to the corresponding serviceName and objectPath which hosts the specific D-Bus interface. As per discussion with Redfish community both ResourceURI and FirmwareInventory Redfish URI can be used as TargetURI. Current implementation already allows /redfish/v1/Managers/<bmc>, hence support for this specific ResourceURI has been preserved. New implementation adds FirmwareInventory Redfish URI for TargetURI as default option. https://redfishforum.com/thread/1054. For more details on design refer to - https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/65738 https://gerrit.openbmc.org/c/openbmc/docs/+/65739
Tested: Redfish Validator and Build passes. multipart form data update request with Resource URI as target ``` curl -k -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" \ -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/Managers/bmc\"],\"@Redfish.OperationApplyTime\":\"Immediate\"};type=application/json" \ -F "UpdateFile=@obmc-phosphor-image-romulus-20240425222313.static.mtd.all.tar;type=application/octet-stream" \ https://${bmc}/redfish/v1/UpdateService/update { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "Id": "0", "TaskState": "Running", "TaskStatus": "OK" } ```
multipart form data update request with Firmware Inventory URI as target ``` curl -k -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" \ -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/Managers/bmc\"],\"@Redfish.OperationApplyTime\":\"Immediate\"};type=application/json" \ -F "UpdateFile=@obmc-phosphor-image-romulus-20240509003505.static.mtd.all.tar;type=application/octet-stream" \ https://${bmc}/redfish/v1/UpdateService/update { "@odata.id": "/redfish/v1/TaskService/Tasks/1", "@odata.type": "#Task.v1_4_3.Task", "Id": "1", "TaskState": "Running", "TaskStatus": "OK" } ```
Change-Id: Id46de79d3af8834630a793678a6fc0e859295afe Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|