Anaconda/UX Redesign/Anaconda Storage Reinit

From FedoraProject

< Anaconda | UX Redesign
Revision as of 17:36, 2 December 2010 by Duffy (Talk | contribs)

Jump to: navigation, search

Contents

Problem Statement

Anaconda-storage-reinit-screenshot f14.png

There's a few issues with this screen. There's a bug open on it requesting that the text be changed to be more accurate. There's bigger problems than that, though.

Let's go a bit into the background of this dialog. It occurs early on in the screen flow:

[ lang selection ] => [ keyboard selection ] => [ basic or special storage ] => [ REINIT DIALOG ] => [ hostname selection ]

Here's the full order of things in the anaconda code.

The screen that asks if you have basic or specialized storage must come towards the beginning of the screen set, because it is at this point anaconda has to scan to see if any pre-existing installations are on the system in order to know if we can upgrade a pre-existing system or not. However, we don't want to scan specialized storage devices which may be mounted to the machine if we know for sure that the user isn't interested in using them as part of the install - it'll take a while, it may spins up a lot of devices that were not active using more electricity, putting wear on equipment, etc. hitting a lot of networks.

  • If you pick basic, anaconda just scans local devices.
  • If you pick specialized, anaconda scans local devices & network storage devices. This route also gives you the option of adding iscsi and other kinds of disks that require user input to be able to discover.

There may be a false assumption here - someone may want to use specialized storage devices as install targets, in which case scanning them for upgradable bits makes sense. However, someone may also simply want to use specialized storage devices as mounted data storage, in which case we shouldn't bother scanning them for upgradable bits.

Anyhow, once we know which devices to scan (local if basic, local+network if specialized), they are scanned and if any of them appear to have missing partition tables, this dialog is popped up.

The problem is, anaconda may not know how to read the partitions on the drive, another operating system may be able to. There *could* be data on that drive, but we just don't know because we don't know how to read it. The drive may very well be blank (if it's brand-new / baremetal) or it could be a virtual drive and have no data either. So our dilemma is:

  • we can't mount the drive as a data drive if we can't read the partitions, so it's useless.
  • we can't use the drive as an install target unless we completely format it.
  • there may be data on the drive, we just don't know. if we reinitialize a drive that was only meant to be a data drive... we're erasing data for no good reason.
  • there may not be any data at all in which case popping up the dialog instead of just reinitializing the disk and being quiet about it without causing so much bother.

Mockups

Radio-button approach

Storage-reinit-idea1.png

Media:storage-reinit-idea1.svg

Text-massaging approach

Storage-reinit-idea2.png

Media:storage-reinit-idea2.svg

Text-massaging approach - simplest

Storage-reinit-idea3.png

Media:storage-reinit-idea3.svg

Sketches

Here's some quick paper thumbnail sketches that were used to create the mockups above:

Anaconda-storage-reinit sketches thumb.png

View full PDF