Skip to content

yast/yast-storage-ng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2997abc · Feb 24, 2025
Aug 2, 2024
Jan 9, 2025
Feb 24, 2025
Jan 10, 2022
Feb 24, 2025
Feb 24, 2025
Feb 7, 2019
Jun 12, 2018
Jul 13, 2017
Jun 12, 2018
Jan 10, 2022
Apr 2, 2019
Nov 12, 2015
Aug 2, 2024
Nov 12, 2015
Mar 3, 2023

Repository files navigation

YaST - rewrite of the storage module

Workflow Status OBS Coverage Status Code Climate Inline Docs

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.