diff options
authorAndrew Geissler <>2019-03-28 12:56:42 -0500
committerAndrew Geissler <>2019-03-29 09:50:49 -0500
commit4e825567f93b9a6c8bcfefba7c97869bd81a12da (patch)
parent0f791e8f8c89c1eefdcf8cc7dc86657fd2b27cb8 (diff)
fw-update: Provide details on ApplyTime design
Adding support for user to be able to dictate when the image is updated Change-Id: I6602aa70424f412871b3c4c6436041e864ea42f5 Signed-off-by: Andrew Geissler <>
1 files changed, 16 insertions, 4 deletions
diff --git a/designs/ b/designs/
index fc6d502..1785a11 100644
--- a/designs/
+++ b/designs/
@@ -80,12 +80,14 @@ later.
- Support firmware update for other targets (power supplies, voltage regulators,
- Support to update multiple targets with the same firmware image at once
-- Support scheduling of when update occurs
+- Support scheduling of when update occurs (Maintenance windows)
- Support remaining TransferProtocolTypes in UpdateService (CIFS, FTP, SFTP,
- TODO: Any update mechanism that doesn't have transport security on its own,
like FTP, needs a secondary verification mechanism. Update mechanisms that
have transport security need a way to adjust the trusted root certificates.
+- Support the Task schema to provide progress to user during upload and
+ activation phases
## Proposed Design
@@ -95,14 +97,24 @@ The pseudo flow for an update is:
Discover UpdateService location
HttpPushUri = GET https://${bmc}/redfish/v1/UpdateService
-POST <image> https://${bmc}/${HttpPushUri} ApplyTime=Immediate
+POST ApplyTime property in
+ UpdateService/HttpPushUriOptions->HttpPushUriApplyTime object
+ (Immediate or OnReset)
+POST <image> https://${bmc}/${HttpPushUri}
This will cause the following on the back-end:
- Receive the image
- Copy it internally to the required location in the filesystem (/tmp/images)
- Wait for the InterfacesAdded signal from /xyz/openbmc_project/software
-- Activate the new image (which may involve a reboot of the BMC)
+- Activate the new image
+- If ApplyTime is Immediate, reboot the BMC or Host
+- If ApplyTime is OnReset, do nothing (user will need to initiate host or bmc
+ reboot to apply image)
+Note that the ApplyTime property will be processed by the software management
+stack at the end of the activation.
+Note that the ApplyTime property is global to all firmware update packages and
+will be used for all subsequent firmware update packages.
### Change the Priority of an Image
OpenPOWER on IntegriCloud