GSoC/2018/StatusReports/CaioJordãoCarvalho

From KDE Community Wiki

Finish LVM support and implement RAID support in KDE Partition Manager and Calamares

KDE Partition Manager is a utility program that helps the management of disk devices, partitions and file systems on your computer. It allows you to easily create, copy, move, delete, backup, restore partitions and resize without losing data. The program consists of a backend library, called kpmcore, and a user application that uses that library.

Calamares is a distribution-independent system installer, with an advanced partitioning feature for both manual and automated partitioning operations. It is designed to be customizable by distribution maintainers without need for cumbersome patching, thanks to third party branding and external modules support. It uses the kpmcore library to automate partitioning procedures.

One pending feature request for Calamares remains for LVM support. LVM support is currently finished in kpmcore and KDE Partition Manager, but there is some work to do in Calamares before proceeding to the other goals of this project. Furthermore, it is currently needed to implement RAID support in kpmcore, KDE Partition Manager and Calamares, which will offer a way to spread data across several disks, such that a single disk failure will not lose that data.

Mentors: Adriaan de Groot and Andrius Stikonas.

Project Goals

  • Finish LVM VG support in Calamares.
  • Implement RAID support in kpmcore.
  • Implement RAID support GUIs in KDE Partition Manager.
  • Implement RAID support GUIs in Calamares.

Work Report

Community Bonding Period

During Community Bonding period, I've been in communication with my mentors, planning some goals and learn more about the codebase of KDE Partition Manager and Calamares. I'm getting more familiar with partitioning module in Calamares and LVM routines in KDE Partition Manager. In addition, I'm studying how LVM VG creation dialog works in KDE Partition Manager and how I can port it to Calamares and started solving some bugs and implementing some features related to LVM in kpmcore and partitionmanager. Also I'll take advantage of this first GSoC period to study more about mdadm tool, that will help me in the process of manipulation of RAID devices.

More details can be seen in Community Bonding Part 1, Part 2 and Part 3 in my blog.

Coding Period - First weeks (May 14th to May 28th)

During the first weeks of Coding Period, I was dedicated to create LVM VG creation process in Calamares. It involved creating a new VG GUI hierarchy and understanding the process of Jobs in Calamares. I'm planning to finish the first phase of the coding period with the implementation of some other operations of VGs in Calamares (i.e. resize and delete operations).

More details can be seen in Coding Period (May 14th to May 28th) post in my blog and this video showing how the process of VG creation is being done.

Branches where I'm working

Important Links

Proposal Link

Blog Posts

Contact

Email: [email protected]

IRC: cjlcarvalho

Github: cjlcarvalho