Skip to content
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.inch.yml Adds InchCI Jul 13, 2017
.rubocop.yml Remove rubocop SymbolProc exception Jul 26, 2017
.yardopts Merge spec files Jul 13, 2017
Dockerfile Revert "adapt Rakefile and Dockerfile for SLE-15-GA" Jun 1, 2018

YaST - rewrite of the storage module

Build Status 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.


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.

  • High level view on how the code of the Partitioner is organized into classes and namespaces.
  • 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.
  • High level view on how the code of the Guided Proposal is organized into classes and namespaces. Slightly outdated but still useful.
  • An outdated but still useful document explaining how the AutoYaST support was implemented based on the infrastructure of the Guided Proposal.
  • 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.
  • A raw collection of notes taken during interviews with several booting experts, used as a reference to implement the Guided Proposal.
  • A high level view of the format used to represent a libstorage-ng devicegraph in the yast-storage-ng test suite.
  • See the status document (linked above) for details.
  • 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.
  • 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.
You can’t perform that action at this time.