Anaconda Storage Filtering
This is the main page for information about anaconda's further/continuing storage rewrite. The entire storage subsystem was rewritten from scratch in F11, this page tracks the cleanup and last bits of support.
Summary
Anaconda's storage configuration code was rewritten from scratch in F11 to address several design limitations and replace outdated chunks of code. A number of outstanding problem areas remain, and this page tracks progress. It also documents the storage device filtering design and test requirements.
Owner
- Name: Dave Lehman
- email: dlehman AT fedoraproject DOT org
Current status
- Targeted release: Fedora 12
- Last updated: 2009-07-07
- Percentage of completion: 25%
Detailed Description
The new storage code still needs numerous bugfixes and the addition of device filtering. This page tracks the broad categories of problem and the progress we're making.
This page does not track the UI cleanup for storage configuration.
Work Items:
- improve handling of parted's partition renumbering
- improve extended partition management
- improve utilization of disk space w/ growable partition requests
- add support for optionally-partitioned devices (disks, md)
- improve UI handling of pre-existing devices and their formatting
- improve handling of unusual/broken pre-existing lvm/md setups
- update swap recommendation algorithm
- create md devices w/ bitmap by default
See Anaconda/StorageRewrite for further details.
Benefit to Fedora
We need to complete the newly redesigned storage management module and improve the stability of installation.
Scope
All of anaconda's code for creating and configuring disk partitions, LVM, mdraid, dmraid, multipath, iSCSI, LUKS devices, and filesystems was rewritten. Several known problem areas remain.
How To Test
Testing will need to be extensive.
We will have to verify the following areas of functionality as a starting point:
- creation/configuration of filesystems
- on new partitions
- on existing partitions
- on new LVM logical volumes
- on preexisting LVM logical volumes
- on new software RAID devices
- on existing software RAID devices
- creation of encrypted block devices at various levels in the device stack (partition, PV, LV, mdarray, &c)
- detection of arbitrarily complex device configurations (luks, mdraid, lvm, &c)
- management and configuration of existing encrypted block devices
- automatic partitioning of systems
- clearing of existing devices/partitions
- removal of existing devices
- reconfiguration of existing devices
- detection of existing upgradable installations with widely varied storage configurations
- rescue mounting of existing systems with a wide variety of storage configurations
There is more. Unit tests are being developed, and we will plan a Fedora Test Day. Before this code hits Rawhide it will be smoke-tested in a custom compose.
User Experience
This should improve the user's experience with regard to the storage configuration portion of system installation.
It additionally includes the ability to filter out unwanted storage devices as potential installation targets.
Dependencies
- TBD
Contingency Plan
Revert to previous codebase.
Documentation
See Anaconda/StorageRewrite for further details.
Release Notes
- Install Guide update to reflect ability to filter devices