Git Product home page Git Product logo

yast-storage-ng's Introduction

YaST - rewrite of the storage module

Build Status Coverage Status Code Climate

yast2-storage-ng is a reimplementation of the YaST storage module (yast2-storage) based on the also reimplemented library for storage manager (libstorage-ng).

When finished, this module will contain essentially two parts:

  • 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 other YaST modules (such as the Partitioner, see below), 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.

In this moment, the module also includes a simple prototype of a possible reimplementation of the YaST Expert Partitioner, a powerful tool capable of actions such as creating partitions and filesystems or configuring LVM and software RAID. That prototype will be removed in the near future in favor of this separate YaST module, built on top of the functionality provided by this package.

This module is entirely unsupported.

Trying on Running System

If you are brave enough to install this module in a (open)SUSE system, despite the facts that is not supported and can produce data loss, you can perform the following steps (as root):

# Repository for Tumbleweed/Factory, adjust this line if using other distribution
zypper ar -f http://download.opensuse.org/repositories/YaST:/storage-ng/openSUSE_Tumbleweed/ libstorage-ng
zypper ref
rpm -e --nodeps libstorage7 libstorage-ruby libstorage-python libstorage-devel libstorage-testsuite
# There might be reported file conflicts between yast2-storage-ng and yast2-storage,
# it should be OK to ignore them.
zypper in yast2-storage-ng

Trying the installation process

There are test ISO images available in the build service that can be used to perform an openSUSE Tumbleweed installation using this module instead of the original yast2-storage. Once again, take into account this is not supported and can produce data loss.

The installation process is the same than a regular openSUSE system. The following things must be taken into account:

  • Not all scenarios work at this point in time (see Status below).
  • Some user interfaces can be slightly different.
  • As with a regular Tumbleweed, for the partitioning proposal to work the hard disk must be big enough to accommodate all the requested partitions. Using Btrfs for the root partition and a separate partition for /home, the hard disk requirements can grow up to 25GiB at the time of writing (slightly more than the regular openSUSE Tumbleweed).
  • The ISO image includes a relatively small selection of software, so choosing Gnome or KDE Plasma in the "computer role" screen may not work as expected.

Status

Check the status of already implemented and still missing functionality.

yast-storage-ng's People

Contributors

ancorgs avatar aschnell avatar cwh42 avatar gabi2 avatar imobachgs avatar joseivanlopez avatar jreidinger avatar lslezak avatar mvidner avatar schubi2 avatar shundhammer avatar wfeldt avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.