← GSoC/2018/StatusReports/CaioJordãoCarvalho You do not have permission to edit this page, for the following reason: The action you have requested is limited to users in one of the groups: Users, Administrators, trusted, KDEDevelopers. You can view and copy the source of this page. == 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. ** Status: '''Done'''. * Implement RAID support in kpmcore. ** Status: '''Done'''. * Implement RAID support GUIs in KDE Partition Manager. ** Status: '''In progress'''. * Implement RAID support GUIs in Calamares. ** Status: '''Pending'''. == 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 [https://community.kde.org/GSoC/2018/StatusReports/CaioJord%C3%A3oCarvalho#Blog_Posts blog]. === Coding Period - 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 [https://community.kde.org/GSoC/2018/StatusReports/CaioJord%C3%A3oCarvalho#Blog_Posts blog] and this [https://www.youtube.com/watch?v=eCNigHeB7sU video] showing how the process of VG creation is being done. === Coding Period - May 28th to June 18th === I got some problems during the last weeks of Google Summer of Code which made me deal with some challenges. One of these challenges was caused by a HD physical problem. I haven’t made a backup of some work and had to rework again in some parts of my code. As I already knew how to proceed, it was faster than the first time. I had to understand how the device loading process is made in Calamares to load a preview of the new LVM VG during its creation in Partition Page. I need to list it as a new storage device in this page and deal with the revert process. I’ve implemented some basic fixes and tried to improve it. More details can be seen in Coding Period (May 28th to June 18th) post in my [https://community.kde.org/GSoC/2018/StatusReports/CaioJord%C3%A3oCarvalho#Blog_Posts blog]. === Coding Period - June 18th to June 26th === I have finished LVM VG complete support to Calamares, including resize, deactivate and remove operations. I’ve changed Calamares’ Partition Page to include a group of buttons related to VG operations. Now there is a row reserved for it, organized in a horizontal layout. More details can be seen in Coding Period (June 18th to June 26th) post in my [https://community.kde.org/GSoC/2018/StatusReports/CaioJord%C3%A3oCarvalho#Blog_Posts blog]. === Coding Period - June 26th to July 15th === During this period, I have finished the support of loading Software RAID (i.e. MD RAID) devices on kpmcore and KDE Partition Manager, including the process of partition manipulation on these devices. Now I am starting the implementation of the process of creation, removal, assemble and stop of Software RAID on kpmcore. More details explaining about RAID and how this project is focused on it can be seen in Coding Period (June 26th to July 15th) post in my [https://community.kde.org/GSoC/2018/StatusReports/CaioJord%C3%A3oCarvalho#Blog_Posts blog]. == Branches where I'm working == * [https://cgit.kde.org/kpmcore.git/log/?h=kauth kpmcore kauth branch] * [https://cgit.kde.org/partitionmanager.git/log/?h=kauth partitionmanager kauth branch] * [https://git.stikonas.eu/andrius/kpmcore/src/branch/raid-support kpmcore raid-support branch] * [https://github.com/cjlcarvalho/calamares calamares branch] == Important Links == === Proposal Link === * [https://docs.google.com/document/d/1gpa1TDob0rN6JDd7sXfRIpE1x7DiQcpZyCaXd01MtHg/edit?usp=sharing Project Proposal] === Blog Posts === * [https://caiojcarvalho.wordpress.com/2018/05/04/google-summer-of-code-2018-introduction-community-bonding/ GSoC 2018 – Community Bonding Part 1: Introduction] * [https://caiojcarvalho.wordpress.com/2018/05/11/google-summer-of-code-2018-community-bonding-part-2-studies-about-lvm/ GSoC 2018 – Community Bonding Part 2: Studies about LVM] * [https://caiojcarvalho.wordpress.com/2018/05/12/google-summer-of-code-2018-community-bonding-part-3-management-of-lvm-vgs-in-calamares/ GSoC 2018 – Community Bonding Part 3: Management of LVM VGs in Calamares] * [https://caiojcarvalho.wordpress.com/2018/05/26/google-summer-of-code-2018-coding-period-may-14th-to-may-28th-initial-implementation-of-lvm-vg-creation-in-calamares/ GSoC 2018 – Coding Period (May 14th to May 28th): Initial implementation of LVM VG creation in Calamares] * [https://caiojcarvalho.wordpress.com/2018/06/19/gsoc-2018-coding-period-may-28th-to-june-18th-first-evaluation-and-progress-with-lvm-vg/ GSoC 2018 – Coding Period (May 28th to June 18th): First Evaluation and Progress with LVM VG] * [https://caiojcarvalho.wordpress.com/2018/06/26/gsoc-2018-coding-period-june-18th-to-june-26th-finishing-lvm-vg-support-and-starting-raid-implementation/ GSoC 2018 – Coding Period (June 18th to June 26th): Finishing LVM VG support and starting RAID implementation] * [https://carvalho.site/2018/07/14/gsoc-2018-coding-period-june-26th-to-july-15th-raid-on-linux/ GSoC 2018 – Coding Period (June 26th to July 15th): RAID on Linux] === Videos === * [https://www.youtube.com/watch?v=eCNigHeB7sU GSoC 2018 - Initial implementation of LVM VG creation in Calamares] == Contact == '''Email:''' email@example.com '''IRC:''' cjlcarvalho '''Github:''' [https://github.com/cjlcarvalho cjlcarvalho] Return to GSoC/2018/StatusReports/CaioJordãoCarvalho. Retrieved from "https://community.kde.org/GSoC/2018/StatusReports/CaioJordãoCarvalho"