-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Firmware update #44
Comments
What are the requirements for this issue? Can you explain us what should be done here? |
@ParishrutB will be updating this story soon. |
Use CaseAs a system admin, I need to be able to update the firmware or run a backup copy, so that the system is performing as per expectations. Design Review Workflow
|
Firmware Update - Version 1 - Single file updateIn the single file update, BMC and Host files are uploaded together as a .tar file. Since they are linked in the system and will always be the same, we decided to show the versions for BMC and Host as one in the GUI. Main screen Update access key The update access key information sits on the top of the page. If it has expired, then the warning is shown prominently. Firmware update The new process has the following changes:
To communicate the above process and make it easier to follow, we have added a process section. A successful update looks like the following flow: Firmware update - error In case there is an error, we tried to communicate it through the process section. In the following example, there was an error after the upload, at the activation stage. |
Upcoming updatesBased on discussions in the workgroup, we are working on the following updates:
The design shown above (Single file version - update 1) has been tested with a few users. We are now in the process of making a new iteration. |
QuestionsHost Shutdown
**Question: With respect to which of the above points is the update process different for you? |
|
Thanks for the feedback @williamspatrick!
Yes, this is proprietary and will not be enabled by default. The design will accommodate this.
Agreed, this is proprietary and will need to be toggled in some way for the build
We are also moving to Redfish and I expect much of this conversation is also taking place with the community. Phosphor-webui only supported two images as well, |
By “single image model” you mean the tarfile, right? This model might work for commercial vendors, but it won’t work for data center vendors (like FB); not that we really use the webui for deploying updates. We have different teams managing different sets of firmware and work directly with vendors to get them. The rate we receive and deploy updates for BMC vs BIOS vs VR is quite different. |
Even in two file upload where the BMC and Host FW were separate, we were still using tar files. In this case, single file means BMC and Host are both included in the update with one uploaded file. Opposed to having to upload two different files to update the host and BMC.
Is there a need from the UI for webui-vue that is different than what was supported on phosphor-webui? It sounds like any orgs not managing stand-alone systems that rely on the GUI are not impacted by this design. Is that reasonable? |
I'll be honest that I don't know exactly what modes were supported in phosphor-webui. I'm not necessarily expecting you to implement support for any of these concerns if they aren't relevant to IBM, but hopefully the GUI is designed in a way to be extensible for someone else to come around and add it. It would be unfortunate, to me, if adding support for updating Voltage Regulators would require a completely new interface / design. |
To clarify, Intel doesn't have a tar file with a combined BMC and Host firmware image included. The "single image" upload that I was thinking is that we can upload either a BMC or Host or other firmware in the same box and the back-end service will detect what type of image it is and handle it appropriately. We don't need two separate upload boxes, but the single upload box would be for any type of firmware supported by the BMC Redfish UpdateService. I'm not sure how best to represent this in the UI, though. |
Good to know that .tar can not be a file type requirement. If we had an idea of what all the possible file types were, we could add those types to improve the user's experience. I know that this conversation is happening in the community with @anoo1. @ParishrutB and/or @priyanka-pillai97 will verify the expectation, but I do think that you can provide either BMC or Host, but also able to upload them together in a compressed file.
If I understand correctly, you are thinking the firmware update could be extended to so that you could also show a voltage regulators version and it could be updated in the same way. Is that accurate? If so, that would not require a completely new interface, but it would require changes to show what version of voltage regulators the system was running. |
Yes. The dbus interface is designed in a way that it can support firmware update of arbitrary components. We just need to implement the VR version of the internals.
I think you clipped jmbills' statement mid-sentence. I don't think anyone has said that .tar isn't a reasonable file type for firmware update containers. That is how they are currently defined internally to be is a tar-archive with special files in it.
|
That is how it works today in phosphor-webui. The difference in the UI will be what we were calling the two file upload, which is misleading. It is a UI that shows the host and the BMC individually and doesn't have anything do do with how the files are uploaded. We will have a UI for that also we aren't there yet. |
Firmware Update - Version 2Improvements:
Key screen - Single file version Access key expired and server powered on. Note:
Access key updated and server powered off. Key screen - Two file version Access key expired and server powered on. FlowIn the previous iteration, we had tried to show process updates through both the Firmware Update section and the toast messages, but seeing them in two places was confusing for users. So in this iteration, we focussed on showing most of the process updates only through the process section. Once the server is shut down, the update section is enabled. The user can select the upload location (workstation by default) and add a file. We have used a dropdown for the File Location so that different options required by the community can be accommodated without changes to the design. After clicking Refresh in the above screen... Firmware update - error In the following example, there was an error after the upload, at the activation stage. While the update steps show where the error occurred, a toast notification is used to communicate more detail and the next step. Note that the backup image got deleted due in the activation process. This has not been highlighted as an error because we found that it distracted users from trying to update again - once the next update is successful, the running image becomes the backup image. |
Share your thoughts with us!
|
Some work in progress: https://gerrit.openbmc-project.xyz/c/openbmc/webui-vue/+/40317 |
We've stripped down a lot of what @ParishrutB initially proposed. screenshots below of updated designs Some of the enhancements to make the page dynamic:
|
This has already been implemented. If there are bugs with the design, we can open new issues. |
Added the Operating mode under Server Information in the Overview page Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>
Added the Operating mode under Server Information in the Overview page Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>
Added the Operating mode under Server Information in the Overview page Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>
No description provided.
The text was updated successfully, but these errors were encountered: