Feature changed by: Stefan Knorr (stfnknorr)
Feature #318196, revision 17
Title: Redesign YaST Storage Code
Requested by: Arvin Schnell (aschnell)
Requested by: Jiri Srain (jsrain)
Partner organization: openSUSE.org
The structure of the target-map (holding almost all storage data in
YaST) is outdated and not documented. Adding new features, e.g. use
whole disk for filesystem, bcache, dm-cache or switching to and from
partitions on MD RAID, is difficult and error-prone.
Thus a redesign is required to be prepared for new features and make
the software more robust.
During hackweek I evaluated using the boost graph library for
libstorage. The result was announced and is explained, see references.
I consider the redesign to be mandatory but not for a specific version
(although as soon as possible).
Note: This feature is about a redesign, new functionality must by
requested as individual feature requests.
- Evaluation Project on GitHub (url:
- Announcment on yast-devel (url:
Internal test cases & integration test in openQA
Business case (Partner benefit):
: A must have before new features are requested by
customers. Each new feature is harder and harder to implement with the
current Yast Storage.
#1: Jiri Srain (jsrain) (2018-02-20 07:45:46Z)
Added this Fate for SLES15 for release notes entry.
#2: Stefan Knorr (stfnknorr) (2018-02-26 09:50:48Z)
Hi Arvin, Jiri, Ancor, thanks for the release notes entry. Note that I
moved it from category Installation -> Systems Management because it
did not seem like this entry was crucial to installing SLES correctly
(correct me if that assumption is wrong please!).
Additionally, Arvin, could you give some reasoning why these features
were removed or what they were replaced with?
#3: Ancor Gonzalez Sosa (ancorgs) (2018-02-27 01:16:32) (reply to #2)
Well, to be honest, the content of the Release Notes entries on this
fate only scratchs the surface of everything that has changed as part
of its implementation. In reality, the impact of the changes is
massive... specially during installation.
Take a look to this article published some time ago in news.opensuse.
org. It gives a general overview on how this affect installation,
AutoYaST and other areas
Many things has changed, in behavior and in UI. So we definitely need to do
A LOT of work in the documentation area here. :-(
#4: Arvin Schnell (aschnell) (2018-03-01 11:37:50Z) (reply to #2)
I can only give my view on the dropped features (I also added tmpfs),
that is not an official explanation.
Crypt Files: Old way to get encryption. LUKS should be used always.
Device Mapper: Unclear use-case. I can only remember bug reports where
storage detection did not work properly and the users tried to use the
bare device mapper devices and failed.
Unused Devices: I cannot say anything about this.
Mount Graph:Unclear use-case.
Tmpfs:Barely used since systemd creates the required tmpfses on its
#5: Stefan Knorr (stfnknorr) (2018-03-05 16:45:44Z) (reply to #4)
Ancor, Arvin, thanks!
I have added some information about the backend changes from the
referenced post -- please check that I got this right and feel free to
#6: Ancor Gonzalez Sosa (ancorgs) (2018-03-07 14:21:39) (reply to #5)
I will try to expand it a little bit during this week (reminder for
self: UI changes in the Guided Setup, alignment in the partitioner).
#8: Ancor Gonzalez Sosa (ancorgs) (2018-05-11 08:03:52) (reply to #6)
The alignment changes in the partitioner seems to be already pretty
well documented at the "Release notes" section of fate#317129
#7: Ancor Gonzalez Sosa (ancorgs) (2018-05-11 08:02:34)
I added a paragraph to the release notes. Please, feel free to reword
it as needed.
Release Notes: YaST Partitioner: Redesigned Back-end and UI Changes
The partitioning back-end previously used by YaST, libstorage , has
been replaced by libstorage-ng that is architected to allow new
capabilities that were not possible before. For example, it is now
possible to install a fully encrypted system without LVM using the
automatic proposal and to correctly handle file systems placed directly
on a disk without any partitioning.
Along with the library replacement, the yast2-storage module will be
replaced by yast2-storage-ng which reimplements the storage code of
YaST. Several outdated and less useful system views were removed from
the partitioner in that rewrite:
* Crypt Files - Use LUKS-based encryption instead
* Device Mapper
* Unused Devices
* Mount Graph
* Tmpfs - Largely managed by systemd now
In addition, the Hard Disks system view does not display devices that
cannot be manipulated using the partitioner. That includes:
* Unformatted DASDs
* Individual devices (that is, wires) of a multipath device
* Disks that are part of a BIOS RAID
- Moreover, the "Configure" menu button in the initial partitioner screen
- does not longer include the "Provide Crypt Password" and "Configure
- Multipath" options. During installation, any operation implying a
- system rescan (like using the "Rescan Devices" button in the very same
- screen) will always ask the user about what to do with inactive
- Multipath systems and closed encrypted devices.
+ Moreover, the Configure menu in the initial partitioner screen no
+ longer includes the options Provide Crypt Password and Configure
+ Multipath . During installation, any operation that necessitates a
+ system rescan (such as using the Rescan Devices button in the same
+ screen) will always ask the user what to do with inactive multipath
+ systems and closed encrypted devices.
While the back-end that handles the AutoYaST section <partitioning> has
changed, we kept compatibility in mind and there should be no changes
- in the XML layout.
+ to the XML layout.