Bug 854105

Summary: f18 anaconda custom partitioning is confusing when using more than one disk (and different sizes) and mdadm lvm btrfs
Product: [Fedora] Fedora Reporter: Reartes Guillermo <rtguille>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 18CC: anaconda-maint-list, g.kaviyarasu, jonathan, jonathan.r.young, jth, sergei.litvinenko, vanmeeuwen+fedora, wagerrard
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-04-10 19:12:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
#1 disk selection
none
#2 custom partitioning
none
#3 partition creation dialog
none
#4 disk selection (multiple disks)
none
#5 create a partition (multiple disks)
none
#5 LVM PV creation
none
#6 Mirrored root creation
none
custom partitioning pseudo-mokup
none
custom partitioning pseudo-mokup
none
custom partitioning
none
custom partitioning pseudo-mokup
none
custom partitioning pseudo-mokup
none
custom partitioning pseudo-mokup
none
creating mirrors
none
creating mirrors
none
creating mirrors
none
creating mirrors
none
creating mirrors
none
suggestion for manual partitioning: "add a new mountpoint" dialog none

Description Reartes Guillermo 2012-09-04 03:20:53 UTC
Created attachment 609527 [details]
#1 disk selection

Description of problem:

Currently, the layout of custom partitioning is far from optimal.
Screen-shots were uploaded.

Version-Release number of selected component (if applicable):
f18a tc5

Actual results:

It is not clear with the UI how to create:

* LVM over MDADM
* MDADM with disks of separate sizes.
* Cannot create a partition in the desired disk.

Additional info:

Comment 1 Reartes Guillermo 2012-09-04 03:22:08 UTC
Created attachment 609528 [details]
#2 custom partitioning

Partitions are shown, but for which disk?
And if i have multiple disks of differen sizes?

Comment 2 Reartes Guillermo 2012-09-04 03:24:01 UTC
Created attachment 609529 [details]
#3 partition creation dialog

It is not possible to discretionary create a partition on a desired disk.

Comment 3 Reartes Guillermo 2012-09-04 03:29:40 UTC
Created attachment 609530 [details]
#4 disk selection (multiple disks)

Comment 4 Reartes Guillermo 2012-09-04 03:31:55 UTC
Created attachment 609531 [details]
#5 create a partition (multiple disks)

if i want to create a mdadm:raid1 /home with the 6th and 7th disk?

Comment 5 Reartes Guillermo 2012-09-04 03:40:54 UTC
Created attachment 609534 [details]
#5 LVM PV creation

Device Type: LVM
Technology: BTRFS

While this does result in anaconda not accepting the proposed layout (which is good) it needs polish.

for example, "entries" can only be created by "mount point" and "size" and then transformed into BTRFS, LVM, MDADM, LVM+MDAMD, LUKS, etc.

Also please note that anaconda does not show the exact "free" space, one has to type it in MB, resulting in some wasted space. Maybe "all" or "rest" or "free" keywords should be added for "size".

I think the layout should be at least defined for alpha.
I propose this a blocker.

Comment 6 Reartes Guillermo 2012-09-04 03:47:36 UTC
There are a lot of possible invalid configurations, anaconda catches most them when returning to the main hub. 

I my opinion, anaconda should correct most of them BEFORE leaving the custom partitioning. As the user selects for example LVM, non-lvm checks and options should be grayed out, etc.

Comment 7 Reartes Guillermo 2012-09-12 12:01:02 UTC
Created attachment 612076 [details]
#6 Mirrored root creation

In this example, i have two disks, and i want to create
two raid partitions and /dev/md0 for root.

In the screen-shot uploaded, in which disk is that partition being created?
There is no reference to 'devices' for the disks.

Comment 8 Joergen Thomsen 2012-09-21 21:14:03 UTC
I can only strongly support this opinion. The F18 partitioning is simply a disaster. It looks like a typical Microsoft solution: We know what you want. We are not telling you anything about, what we do and you cannot influence our decisions!

I feel totally out of control. For various reasons e.g. RAID-1, performance etc it is important to be able to see and specify the exact disk layout.

Another strange thing is, that is not obvious how to create a swap partition. Constantly a requestor comes up asking for a mount point.

In my case I was just trying to install F18 on the same layout (with md) as a previous F17 installation. Definitely not an intuitive experience. I stopped installing F18 afraid of messing the disks totally up.

Comment 9 Sergei LITVINENKO 2012-09-22 10:53:44 UTC
anaconda do not provide enough expert mode functionality. In case of multi-disk configuration, it is not possible to prepare partitions for every disk individually. Lack of functionality do not allow to prepare optimal partitions scheme.

It is not clear how to create swap volume directly, because anaconda require mount point for volume, but swap do not have mount point. As workaround, it is necessary to create fake mount point and after to change type of fs to swap.

Anaconda do not understand software raid volumes. Even if raids volumes are prepared before installation, anaconda can not recognize, use or manage it. 
Also, because anaconda cannot delete raid volumes clearly, it crash during installation.

Comment 10 Reartes Guillermo 2012-10-05 13:38:23 UTC
Created attachment 622178 [details]
custom partitioning pseudo-mokup

edited screen-shot with some remarks on sub-optimal UI elements in custom partitioning.

Comment 11 Reartes Guillermo 2012-10-05 13:38:57 UTC
Created attachment 622181 [details]
custom partitioning pseudo-mokup

edited screen-shot with some remarks on sub-optimal UI elements in custom partitioning.

Comment 12 Reartes Guillermo 2012-10-05 13:39:51 UTC
Created attachment 622182 [details]
custom partitioning

edited screen-shot with some remarks on sub-optimal UI elements in custom partitioning.

Comment 13 Reartes Guillermo 2012-10-05 13:40:33 UTC
Created attachment 622193 [details]
custom partitioning pseudo-mokup

edited screen-shot with some remarks on sub-optimal UI elements in custom partitioning.

Comment 14 Reartes Guillermo 2012-10-05 13:41:08 UTC
Created attachment 622195 [details]
custom partitioning pseudo-mokup

edited screen-shot with some remarks on sub-optimal UI elements in custom partitioning.

Comment 15 Reartes Guillermo 2012-10-05 13:42:11 UTC
Created attachment 622200 [details]
custom partitioning pseudo-mokup

edited screen-shot with some remarks on sub-optimal UI elements in custom partitioning.

Comment 16 Reartes Guillermo 2012-10-05 17:18:03 UTC
Created attachment 622297 [details]
creating mirrors

Comment 17 Reartes Guillermo 2012-10-05 17:19:37 UTC
Created attachment 622298 [details]
creating mirrors

edited snapshots which points to sub-optimal or confusing UI in custom partitioning regarding mdadm raid devices.

Comment 18 Reartes Guillermo 2012-10-05 17:20:25 UTC
Created attachment 622300 [details]
creating mirrors

edited snapshots which points to sub-optimal or confusing UI in custom partitioning regarding mdadm raid devices.

Comment 19 Reartes Guillermo 2012-10-05 17:21:09 UTC
Created attachment 622303 [details]
creating mirrors

edited snapshots which points to sub-optimal or confusing UI in custom partitioning regarding mdadm raid devices.

Comment 20 Reartes Guillermo 2012-10-05 17:23:45 UTC
Created attachment 622304 [details]
creating mirrors

edited snapshots which points to sub-optimal or confusing UI in custom partitioning regarding mdadm raid devices.

this is the result (fdisk output)
i wonder what happens if i had 3 disks instad of 2...

Comment 21 David Lehman 2012-10-05 18:37:47 UTC
First, I would like to encourage you to let go of your expectations based on the old Fedora installer interface.

It occurs to me you may be missing a large part of the point of the new custom partitioning interface: to not bother you with the details of how to create lvm, but rather to just create it for you.

It is quite simple, really. You create what you want in the end: either swap space or a filesystem to mount. If you want to change the device type, there is a very clearly marked "Device Type" selector in the device details editor. I am surprised how many people find this confusing.

At some point we will add the ability to edit a partition to specify a subset or specific disk from which to allocate the partition. For now, we consider all of your selected disks to be available for use.

Similarly, we plan to add support for putting lvm pvs on md instead of partitions, but this is hardly a critical case for Alpha (or, arguably, for Beta).

As for always having some amount of free space left over, this is inevitable. We have three options:

 1) We could do what we do now, which is align partitions according
    to the kernel's suggestions and accurately display free space.
 2) We could not align partitions as suggested by the kernel so
    users can squeeze out that extra 2-3MiB per disk, which is not
    a reasonable suggestion.
 3) We could just lie to you and tell you there is no free space when
    the only free space is due to alignment of partitions. This might
    be nice except that we cannot identify this situation with
    perfect accuracy.


As far as understanding the new interface, I am planning to write a basic primer which will be displayed on screen when you enter the custom partitioning interface for the first time to clear up some of the common points of confusion.

Comment 22 Reartes Guillermo 2012-10-05 19:46:43 UTC
@David

"First, I would like to encourage you to let go of your expectations based on the old Fedora installer interface."

It has nothing to do with the previous installer nor any particular installer.
I am giving feedback regarding the "manual partitioning" stuff, specifically some issues that (in my opinion) need either tweaks or modifications.

"It occurs to me you may be missing a large part of the point of the new custom partitioning interface: to not bother you with the details of how to create lvm, but rather to just create it for you."

I am not bothered, otherwise i would have chosen "automatic partitioning" instead. I need manual/custom partitioning to make sure i do not wipe any filesystem and to use exactly certain devices. 100% precision.

Is there any problem with the possibility of an user creating the specific partitions on specific disks? Is it something that is valued so bad? Why?

There is already the automatic partitioning, and it will be used by the target audience. 

Removing the manual partitioning and transforming it into some semi-automatic partitioning removes flexibility. (if i understood correctly your words, manual partitioning is no more). 

The point is that there is no guarantee (no visual feedback in the ui) that i am creating what i want when there are many disks and the need for special devices (aka raid, etc). (READ: NEED, REQUIRE) (and also there is no feedback of what will anaconda create, which might or might not be what i want, i just don't know and i will not try to find out by trying...).

"It is quite simple, really. You create what you want in the end: either swap space or a filesystem to mount. If you want to change the device type, there is a very clearly marked "Device Type" selector in the device details editor."

Not really, when there are multiple disks, different sizes it is not clear what is the ui displaying.

"I am surprised how many people find this confusing."

You have two options (at least i know i not alone & crazy):

1- all these people are invalid and do not have any vestige or reason, i am 100% right/correct

2- the ui might need a little tweak at least, i will evaluate what is the problematic (or not properly understood) element and why it happens.

"At some point we will add the ability to edit a partition to specify a subset or specific disk from which to allocate the partition. For now, we consider all of your selected disks to be available for use."

Can you elaborate in time-frames, F19, F18beta, F18, etc.

"Similarly, we plan to add support for putting lvm pvs on md instead of partitions, but this is hardly a critical case for Alpha (or, arguably, for Beta)."

I am not sure about this one, but if it cannot be tested at least during beta, then it should neither be in release.

Regarding the free space, again, this is UI solvable, add a "FREE" keyword and optionally "FREEALL".

Regarding the possibility of deliberate lying, i hope that does not ever happen on any distribution.

"As far as understanding the new interface, I am planning to write a basic primer which will be displayed on screen when you enter the custom partitioning interface for the first time to clear up some of the common points of confusion."

That sounds good.

I will upload snapshots of more complicated setups. 
It is not that the UI is 100% bad, but it definitively needs some tweaks.

Cheers.

Comment 23 Joergen Thomsen 2012-10-05 20:09:29 UTC
(In reply to comment #21)

> For now, we
> consider all of your selected disks to be available for use.

This is in my opinion the major design flaw.

Example: a server with two drives each identically configured with a boot partition and a major partition configured as RAID-1. The drives are totally mirrored. Manually and by md.

It is thus possible to pull out one faulty drive and have it replaced, while still running the server with the other drive intact.

This has actually been the case more than once in a live installation.

How would this be possible, if you do not have any control over the location of data ?

Comment 24 Chris Lumens 2012-10-05 20:14:59 UTC
Honestly, bugzilla is a terrible place to do development and design.  If you want to talk about those sorts of things, you need to be on the anaconda-devel mailing list instead.  Second, we're approaching F18 Beta here.  It's very unrealistic to assume that any major redesigning of this interface is going to happen for F18.  We've been discussing the design of the custom partitioning interface alone for at least six months now, and it's simply too late to go back and redo much of anything.  We need to be stabilizing and fixing functionality bugs.

Comment 25 Joergen Thomsen 2012-10-05 20:39:05 UTC
(In reply to comment #24)

> If you want to talk about those sorts of things, you need to be on the
> anaconda-devel mailing list instead.  Second, we're approaching F18 Beta
> here.  It's very unrealistic to assume that any major redesigning of this
> interface is going to happen for F18.

To quote yourself from the developer list
"I can't think of anything that we've planned that reduces functionality."

Apparently somebody out here can.

> it's simply too late to go back and redo much of anything.  We need to be
> stabilizing and fixing functionality bugs.

Also from the developer list:

"The function set at Alpha is a reduced set from what we target for Beta/Final."

So is there any consensus in the development group ?

Comment 26 Chris Lumens 2012-10-05 20:51:59 UTC
> To quote yourself from the developer list
> "I can't think of anything that we've planned that reduces functionality."
> 
> Apparently somebody out here can.

If you actually take the time to read Dave's reply above, you will also see that he said:

"At some point we will add the ability to edit a partition to specify a subset or specific disk from which to allocate the partition."

What I said still stands.  We've got plans to put useful things back in.  You just need to exercise some patience.

> > it's simply too late to go back and redo much of anything.  We need to be
> > stabilizing and fixing functionality bugs.
> 
> Also from the developer list:
> 
> "The function set at Alpha is a reduced set from what we target for
> Beta/Final."

Um, okay?  These statements don't have anything to do with each other.  I am saying that we really don't have time now to take suggestions from this bug report into account, since we need to complete the design we've got, fix bugs, bring other things back like Dave was pointing out, etc.

Comment 27 Joergen Thomsen 2012-10-05 21:15:51 UTC
(In reply to comment #26)
> If you actually take the time to read Dave's reply above, you will also see
> that he said:
> 
> "At some point we will add the ability to edit a partition to specify a
> subset or specific disk from which to allocate the partition."

I did read that. I also noticed, that there was no mentioning of F18.
"At some point" could be in 2020 as Reartes Guillermo also noticed.

> What I said still stands.  We've got plans to put useful things back in. 
> You just need to exercise some patience.

I'll try, but difficult when the developers are having difficulties in acknowledging, that some people are having problems with this fancy new design of theirs and instead are busy shooting the messenger.

Comment 28 Joergen Thomsen 2012-10-05 21:24:40 UTC
And BTW I would really like to know how to manage the scenario from comment 23 i F18

Comment 29 Reartes Guillermo 2012-10-06 16:41:01 UTC
Created attachment 622765 [details]
suggestion for manual partitioning: "add a new mountpoint" dialog

I believe the green suggestion could be done for F18.
The red suggestion is definitively for F19.
And the blue suggestion might be for F18, otherwise for F19.

And i think the green suggestion can be modified (F??) in such
a way the "keyword" is blue and underlined (clickable).
Clicking "keywords" can display the list (in form of a dialog,
maybe) of valid keywords to use on that filed.

Comment 30 wagerrard 2012-10-29 00:06:57 UTC
Just finished partitioning with the 24 October nightly.  The machine has three disks: sda, sdb, and sdc.  I need to put specific partitions, of specific size, on specific physical drives.  I could not locate any mechanism in the partitioner to allow me to deal with /dev/sda, then /dev/sdb, and, finally, /dev/sdc.

I am not interested in LVM or RAID in this instance.  I need a partitioner that allows me to partition as I choose. I cannot, and will not, use a partitioner, or a distribution, that makes errant assumptions about what I want.

Comment 31 David Lehman 2012-10-30 21:01:31 UTC
(In reply to comment #30)
> Just finished partitioning with the 24 October nightly.  The machine has
> three disks: sda, sdb, and sdc.  I need to put specific partitions, of
> specific size, on specific physical drives.  I could not locate any
> mechanism in the partitioner to allow me to deal with /dev/sda, then
> /dev/sdb, and, finally, /dev/sdc.

See bug 870569

Comment 32 David Lehman 2012-10-30 21:16:00 UTC
(In reply to comment #22)
> @David
> 
> "First, I would like to encourage you to let go of your expectations based
> on the old Fedora installer interface."
> 
> It has nothing to do with the previous installer nor any particular
> installer.
> I am giving feedback regarding the "manual partitioning" stuff, specifically
> some issues that (in my opinion) need either tweaks or modifications.

As Chris has said, the place for this is on the development list. When you are opening bug reports, you should strive to limit each bug report to a single distinct bug to enable proper resolution tracking. Far-reaching critiques like this are better done on a mailing list.

> 
> "It occurs to me you may be missing a large part of the point of the new
> custom partitioning interface: to not bother you with the details of how to
> create lvm, but rather to just create it for you."
> 
> I am not bothered, otherwise i would have chosen "automatic partitioning"
> instead. I need manual/custom partitioning to make sure i do not wipe any
> filesystem and to use exactly certain devices. 100% precision.

You're not going to get 100% precision. If that's what you want, you should use fdisk, lvm, mdadm, &c.

We have no intention of allowing users to specify start/end sectors for new partitions.

We similarly have no intention of allowing users to specify the partition number for new partitions.

We do plan to support disk set specification. (f18)

We plan to support lvm-on-md, but this is at risk for f18.

> 
> Is there any problem with the possibility of an user creating the specific
> partitions on specific disks? Is it something that is valued so bad? Why?
> 
> There is already the automatic partitioning, and it will be used by the
> target audience. 
> 
> Removing the manual partitioning and transforming it into some
> semi-automatic partitioning removes flexibility. (if i understood correctly
> your words, manual partitioning is no more). 

100% manual partitioning exists in the form of the various utilities for directly managing devices and filesystems. Above that, you have kickstart. Above that, you have the the new custom storage ui. Above that, you have automatic partitioning. Each new option provides more powerful high-level control and less low-level control. Choose what works best for you. There are plenty of options.

> 
> The point is that there is no guarantee (no visual feedback in the ui) that
> i am creating what i want when there are many disks and the need for special
> devices (aka raid, etc). (READ: NEED, REQUIRE) (and also there is no
> feedback of what will anaconda create, which might or might not be what i
> want, i just don't know and i will not try to find out by trying...).

This is something I'd like to address (to some extent), but it falls somewhere other than at the top of my list of priorities. I cannot say how we will address this or when.

> 
> "It is quite simple, really. You create what you want in the end: either
> swap space or a filesystem to mount. If you want to change the device type,
> there is a very clearly marked "Device Type" selector in the device details
> editor."
> 
> Not really, when there are multiple disks, different sizes it is not clear
> what is the ui displaying.

It may be that you require a greater degree of control/feedback than we plan to provide.

> Regarding the free space, again, this is UI solvable, add a "FREE" keyword
> and optionally "FREEALL".

Can you elaborate with some detail?

Comment 33 Reartes Guillermo 2012-10-30 23:58:12 UTC
@David Lehman

>> I am not bothered, otherwise i would have chosen "automatic partitioning"
>> instead. I need manual/custom partitioning to make sure i do not wipe any
>> filesystem and to use exactly certain devices. 100% precision.

> You're not going to get 100% precision. If that's what you want, you should 
use fdisk, lvm, mdadm, &c.

No, i will clarify. I actually should have said: 

"I need manual/custom partitioning to make sure i do not wipe any
filesystem and to use exactly certain devices, 100% precision doing that."

I certainly do use fdisk/gdisk and use anaconda to only create a md array for /
and install the bootloader on a bios_boot partition. (which i later manually dd 
to the other disk bios_boot partition).

But let's see how it goes for the next tcs/rcs.

~~~~~

>> Regarding the free space, again, this is UI solvable, add a "FREE" keyword
>> and optionally "FREEALL".

>Can you elaborate with some detail?

Sure,

For example on Attachment #3 [details]
Available Space says; 18.9Gb

I proposed a keyword 'free' (defined below).

Currently, one starts creating partitions, until the last one. I think it is useful and handy to be able to type 'free' instead of any quantity. 

From the on screen information, one cannot know if there are 18901mb or 18986mb free space. (and i did not test ant TB size disks, i do assume that it will be expressed in TB --correct me if i am wrong with that--)

Additionally, the dialog is modal, so the only source of information is what is on screen.

As a workaround, one can request a bigger than expected partition, let's say  21gb to emulate "use whatever unallocated space left (on the disk we are operating) anaconda can handle for the to be created partition".

Use of this workaround yields the maximum possible usage (not %100, but 
it is quite reasonable). However, if one select the exact number as show in 
free space, the unallocated space is bigger than with using the workaround. 
It is still a small quantity, but i do not know what would happen on big disks.
This is mostly a concern rather than an actual problem. 

Would it be possible to express the free space as: 18.9GB / 18937MB
I mean, adding always the free space expressed in MB (integer only) in 
addition to the one expressed in MB/GB/TB/etc (decimal notation). 

In the previous comment, with 'Free' i meant: "use whatever unallocated space
left (on the disk we are operating) anaconda can handle for the to be created 
partition".

If you want to close this bug-report, and for any specific issue/problem 
regarding manual partitioning to be reported each in its own bug-report,
to be analyzed in case-by-case way, then i have no objection to it. 
It is a reasonable request. +1 For Doing it.

Cheers.

Comment 34 jryoung 2013-03-11 10:46:01 UTC
I tried to perform a fresh install to a SSD but retaining my /home directory on an EXT4 partion on a md raid 1 configured on 2 additional disks. The F18 installer made this impossible. I resorted to installing F17 (where I have complete control over the disk layout) and then performing a fedup upgrade. However, after the upgrade, F18 kernel doesn't always see the raid array when booting (F17 kernel does).

Comment 35 Chris Lumens 2013-04-10 19:12:10 UTC
If you are still seeing issues here post-F19 Alpha, please open new bugs.  We've made a variety of improvements throughout storage to aid in the identification of devices, but there very well may be more to do.  However, this bug is getting a little wide-ranging and rambling to track effectively.  Thanks.