YaST - rewrite of the storage module
yast2-storage-ng is a reimplementation of the YaST storage module (yast2-storage) based on the also reimplemented library for storage manager (libstorage-ng).
This module contains essentially three parts:
YaST Expert Partitioner: a powerful tool capable of actions such as creating partitions and filesystems or configuring LVM and software RAID.
Storage Proposal: Based on the existing storage setup of a system proposes a storage layout for a new installation. Useful in two cases:
- During a normal installation, offering a user interface to influence and inspect the result before it's written to the disks.
- During auto-installation honoring the
partitioning
section of the AutoYaST profile.
Code for the YaST installation workflow and support functions for the above mentioned components and for other YaST modules, organized into the Y2Storage Ruby namespace. That includes:
- A thin wrapper on top of several of the classes provided by the libstorage-ng Ruby bindings, like Devicegraph, Disk, etc. Check the libstorage-ng documentation for information about the philosophy and general usage and check the documentation of the Y2Storage namespace for details about the wrapper classes.
- Additional YaST-specific functionality.
Status
Check the status of already implemented and still missing functionality.
Developer documentation
The /doc
directory of this repository contains some files with information
that can be very useful as starting point for those willing to modify or
configure this YaST module.
- y2partitioner_namespaces.md High level view on how the code of the Partitioner is organized into classes and namespaces.
- old_and_new_proposal.md Comparison of the new Guided Proposal with the old method. The document also includes a reference about how to configure the Guided Proposal per product/role.
- proposal.md High level view on how the code of the Guided Proposal is organized into classes and namespaces. Slightly outdated but still useful.
- autoyast.md An outdated but still useful document explaining how the AutoYaST support was implemented based on the infrastructure of the Guided Proposal.
- boot-requirements.md An auto-generated formal document describing the boot requirements honored by the Guided Proposal, so the functionality of the code can be validated by booting experts.
- boot-partition.md A raw collection of notes taken during interviews with several booting experts, used as a reference to implement the Guided Proposal.
- fake-devicegraphs-yaml-format.md A high level view of the format used to represent a libstorage-ng devicegraph in the yast-storage-ng test suite.
- installer-hacks.md See the status document (linked above) for details.
- designing-proposal-settings-ui.md The document that was used as a base for discussion when defining the user interface of the Guided Setup. Kept in the repository just for historic reference.
- sle15_features_in_partitioner.md The document that was used as a base for discussion when adding new features to the Partitioner. Kept in the repository just for historic reference.