Bug 1306247

Summary: [RFE] abstract partitions from volgroup/btrfs
Product: [Fedora] Fedora Reporter: Jiri Jaburek <jjaburek>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: anaconda-maint-list, g.kaviyarasu, jonathan, mkolman, vanmeeuwen+fedora, vponcova
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-06-23 11:40:36 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:

Description Jiri Jaburek 2016-02-10 12:13:24 UTC
Use case: having a generic kickstart usable on wide range of hardware configurations

Currently, anaconda (blivet?) has several similar features like 'reqpart --add-boot', which takes care of BIOS/UEFI/PReP/etc. and proper /boot placement (on boot drive), 'clearpart --all', etc.

However the thing is that - if we want a single volume group on the system, holding /, /home, /var/log, etc., we still have to scan the drives on the system and do something like this (for 4 drives):

  part pv.1 --size=1 --grow --ondisk=dasda
  part pv.2 --size=1 --grow --ondisk=dasdb
  part pv.3 --size=1 --grow --ondisk=dasdc
  part pv.4 --size=1 --grow --ondisk=dasdd
  volgroup vg0 pv.1 pv.2 pv.3 pv.4

Similarly for btrfs, which also needs corresponding 'part' commands.
This RFE therefore requests any kind of automation that would allow us to essentially say

  volgroup vg0 --use-all-drives-as-pvs

as anaconda probably knows best which drives are usable on the system (same logic as 'clearpart --all', respecting 'ignoredisk').

However considering additional options one can specify for 'part', like '--encrypted', more thought on this is likely required. As an alternative, a more modular 'autopart' could be probably used (ie. one that can be used with custom 'logvol' commands).

This would allow the kickstart to be usable from x86 BIOS/UEFI systems to IBM zSeries systems, which can have many small (1GB) drives, allowing the user to simply care only about the logical partitions (LVM LVs / btrfs subvols) and the overall disk space available (which can be already dynamically assigned thanks to '--grow --maxsize' or '--percent').

Comment 1 David Lehman 2016-02-10 15:43:08 UTC
Blivet already has its DeviceFactory classes, which are what anaconda uses to get a full stack with a single method call into blivet. We could expose that via kickstart and it would only require changes to pykickstart and pyanaconda.kickstart. Of course, the question of whether we want more storage-related kickstart commands is one to consider before deciding to proceed.

Comment 2 Martin Kolman 2021-06-23 11:40:36 UTC
Discussed with jjaburek and this is apparently not longer a signifficant issue, as modern hardware (especially new s390 machines) in Beaker now usually has sufficiently large individual storage volumes.

So closing the bug.