ibm-openbmc / dev

Product Development Project Mgmt and Tracking
16 stars 2 forks source link

GUI: FED: Server Control - Firmware Update - Full Redfish Support #1030

Closed derick-montague closed 4 years ago

derick-montague commented 5 years ago

Stakeholders

BMC SME: @anoo1 PHYP SME: BJ Vette RAS SME: Justin Thaler DR: @nicoleconser FED: TBD

Overview

Create the firmware update page using Vue.js and the Redfish API. Users will be able to see the firmware version for running and backup. Users will be able to upload and activate images from their local workstation or TFTP server. Users will be able to reboot BMC from this page.

UX flow/ Interaction requirements

InVision link

https://ibm.invisionapp.com/share/4XNZ0JAMJ7B#/screens/319207131_4-8-S-2A_TFTP_Server

cURL

N/A

https://github.com/openbmc/docs/blob/master/REDFISH-cheatsheet.md#firmware-update

Notes

Screenshots

Vue

Screen Shot 2020-05-15 at 10 45 12 AM

Angular (for reference) Screen Shot 2020-05-15 at 10 39 55 AM

References

Redfish workflow change conversation in slack

yoshiemuranaka commented 4 years ago

Latest InVision prototype https://ibm.invisionapp.com/d/main#/console/15364725/319627530/preview

yoshiemuranaka commented 4 years ago

Screen Shot 2020-07-30 at 1 52 20 PM

Gunnar suggest rewording to:

Switch and reboot BMC from backup image <- Title Image to switch to <- smaller text OP940 <- pull from backup image Switch and Reboot BMC <- Button (edited)

Include "Switch" or "Change"

derick-montague commented 4 years ago

That makes sense and these are a step in the right direction. I have some concerns about translation and I think we can still improve on this a little.

For this section we want the user to know that they are:

I am concerned about the word switch since we are not switching, we are replacing. The current image is not going to become the backup, correct?

Will something like this work?

image

or

image

yoshiemuranaka commented 4 years ago

I am concerned about the word switch since we are not switching, we are replacing. The current image is not going to become the backup, correct?

The current image does become backup. The current and backup are being switched when you reboot from backup image. It is not being replaced.

derick-montague commented 4 years ago

I am concerned about the word switch since we are not switching, we are replacing. The current image is not going to become the backup, correct?

The current image does become backup. The current and backup are being switched when you reboot from backup image. It is not being replaced.

Really? That doesn't seem correct. If i have a running image and it is not functioning and I determine to run from the back up, the back up should not be replaced with an image that has issues. If that is the case, then we are going to have to acknowledge that to maintain the systems state the user will have to:

  1. Reboot the BMC from backup
  2. After complete, use the Copy to backup to reset the system state

Questions

  1. Is it intuitive to the user what has happened?
    • If not, How do we make that user aware of that?
  2. Does the word switch provide enough context?
derick-montague commented 4 years ago

Would something like this be more intuitive? Possibly adding some helper text in the update section.

image

derick-montague commented 4 years ago

This potentially could be swap or switch instead of update. We just need it to be clear what is happening.

yoshiemuranaka commented 4 years ago
Screen Shot 2020-08-04 at 8 14 43 AM Screen Shot 2020-08-04 at 8 14 48 AM

My suggested copy updates ^ with addition of info tooltip

derick-montague commented 4 years ago

We should make these changes and push it to the design in progress in the webui-vue repo. I have concerns and I believe we should retest with users.

derick-montague commented 4 years ago

I talked with Stacia from the ID team and switch is an concern for translation. Here are the edits that I am suggesting.

derick-montague commented 4 years ago

Is there a reason we could add an alert here rather than hiding something that could be critical information to the user in an info icon? If we went that route, we may not need the buttons action text to be Reboot BMC

ParishrutB commented 4 years ago

How about this:

image

Title reflects the user intention. Help text explains the exact process. Action button maps to both. Removed the 'Next boot image' part as that was just creating more confusion than helping.

This also covers scenarios wherein the user may not understand what 'change' means.

ParishrutB commented 4 years ago

@derick-montague +1 that a broken current image should not be copied to backup. But won't the user realize that on their own?

yoshiemuranaka commented 4 years ago

Also want to point out additional information in confirmation modal

https://ibm.invisionapp.com/d/main#/console/15364725/319627545/preview

Screen Shot 2020-08-04 at 10 55 58 AM
derick-montague commented 4 years ago

@derick-montague +1 that a broken current image should not be copied to backup. But won't the user realize that on their own?

They have no option. When changing from backup to current, the images swap. They will have to Copy current to backup

derick-montague commented 4 years ago

@yoshiemuranaka is it true that the user will have to login again. That is not true when they reboot the BMC.

image

derick-montague commented 4 years ago

image

nicoleconser commented 4 years ago

@ParishrutB 2 suggestions: specify the object in the button text, and spell out "and" — so Reboot BMC and change images

@derick-montague Did Stacia say anything about "swap"?

Reboot BMC and swap images seems more accurate (and less ambiguous) than "change."

derick-montague commented 4 years ago

@derick-montague Did Stacia say anything about "swap"?

No, we only talked about switch

Reboot BMC and swap images seems more accurate (and less ambiguous) than "change."

+1 - This is an accurate description. Using it as a verb here makes sense.

In a system with virtual storage, to write the main storage image of a job to auxiliary storage and read the image of another job into processor storage.

Source: Dictionary of Printing, Scale Out Network Attached Storage, Terminology Extraction Process, Translation Services Center Subject area: Information technology // Software // Cloud and IT optimization // Storage management, backup and recovery

derick-montague commented 4 years ago

Although something like this may work, there are some other possible options we should think about. Might be a good topic for a short discussion.

image

yoshiemuranaka commented 4 years ago

is it true that the user will have to login again. That is not true when they reboot the BMC.

Not that I know of from testing so far. Maybe we can use similar language to what we have on the Reboot BMC Page.

When you reboot the BMC, your web browser loses contact with the BMC for several minutes. When the BMC is back online, you may need to log in again.

I have implemented something similar in the code, was going to bring up during our next playback

ParishrutB commented 4 years ago

Although something like this may work, there are some other possible options we should think about. Might be a good topic for a short discussion.

image

Does "Change to backup image" in title and "Swap images" in the button align/match with each other? If we are deciding on 'swap' then we should use it in title too.

I agree that "Reboot BMC and swap images" sounds accurate. But accuracy is subjective and we may need to check with the users. This question is ideally answered by them.

ParishrutB commented 4 years ago
image

Checking if this much works. If yes, then we just need to discuss about the title.

ParishrutB commented 4 years ago

@yoshiemuranaka is it true that the user will have to login again. That is not true when they reboot the BMC.

image

This is true. I saw it in the test on witherspoon.

derick-montague commented 4 years ago

I don't believe it is true. We do not have to login when we reboot the BMC, so I don't think this is any different. I believe that that verbiage in the old UI is not accurate. @gtmills, right? We had this conversation with Ed Tenuous last year about how our GUI does not have that requirement, which is a differentiator from competitor GUIs.

yoshiemuranaka commented 4 years ago

MVP

Title: Change to backup image Label: Backup image Button: Change image and reboot BMC

Screen Shot 2020-08-06 at 10 15 36 AM
yoshiemuranaka commented 4 years ago

Potential direction to explore in next iteration @ParishrutB

Screen Shot 2020-08-06 at 10 10 51 AM
yoshiemuranaka commented 4 years ago

Need final copy for three toast notifications

  1. First (bottom)- when user clicks Upload and reboot BMC
  2. Second (middle) - when upload step complete
  3. Third (top) - hardcoded (6 minute) timeout

@derick-montague @ParishrutB

Screen Shot 2020-08-06 at 12 07 43 PM
derick-montague commented 4 years ago

image

Code update started

The upload was successful. During code update, the BMC will be not be responsive. Wait for the code update notification before making any changes.


image

Verify code update

Refresh the application to confirm the code update has completed and was successful.

yoshiemuranaka commented 4 years ago

Resolved by https://gerrit.openbmc-project.xyz/c/openbmc/webui-vue/+/34744

derick-montague commented 4 years ago

Images for testing: https://ibm-systems-power.slack.com/archives/GQR6QQXT8/p1597076066001500

rfrandse commented 4 years ago

https://gerrit.openbmc-project.xyz/c/openbmc/webui-vue/+/34744 merged