From Fedora Project Wiki

Kpatch support

Contact Information

  • Email Address: divya.hariomtatsat@gmail.com
  • Freenode IRC Nick: divya22
  • Social Media Accounts:

Questions to answer

Why do you want to work with the Fedora Project?

The Fedora Project is a classic among the opensource community. It is at the root of the world renown enterprise class Linux distribution RHEL. Not only does it enable RedHat with an incredible platform, it also contributes massively to the opensource community. And this is what brought me to working with the Fedora community. A highly motivated bunch of people working on providing the most innovative contributions to Linux and the opensource community as a whole.

Do you have any past involvement with the Fedora Project or another open-source project as a contributor?

I am divya22 a main contact and package administrator for the fossil SCM Fedora package. Fossil is a unique integrated solution including a distributed revision control system, wiki, tickets and web interface and is used for instance by the SQLite project.

fossil (pkgdb)

Have you participated in GSoC in the past? If so, what year(s) and which organization(s)?

This is my first application.

Do you plan to continue contributing to the Fedora Project after GSoC? If yes, what sub-project(s) are you interested with?

I enjoy supporting the packaging of software for Fedora. Specifically system and development class programs written in C or golang. I also want to continue working and experimenting with project enhancing the Linux kernel.

Why should we choose you over other applicants?

Devotion and pragmatism. I found my calling when I first discovered RHEL and the fun using it. Since then my mission as a student outside the classroom is to get involved more and more in the community and quickly impact with my work. I choose work of interest, focus on the task and get it done fast and well. I am very responsive and feel that today is always better than tomorrow.

Have you contributed to any other open source organizations or projects? If so, do you have artifacts you can show so we can see your skill set(s)?

As I am still ramping up, learning and discovering, the Fedora Project is the only project I directly contributed to so far.

Do you have any other open source experience (even if not coding-related)?

I am responsible for the maintenance and upgrade of z architecture (s390x) SUSE Linux Enterprise servers. My job as a student integree is to assess and implement a server management solution to monitor the status and patch/upgrade systems in a production environment.

I have experience with rpm packages, zypper (YUM/DNF), SUSE Subscription Management Tool, SUSE Manager (spacewalk/RedHat Satellite derivative) and local repository creation and management.

Proposal Description

Overview and The Need

The atomic host immutable images can benefit some kernel live patches. It allows the system to fix problems or security issues without service disruptions or application restart.

The aim of this project is to come up with a sensible way of merging kpatch capabilities into our rpm-ostree system.

Any relevant experience you have

Most of the hands on projects I worked on since being a student in software engineering has been around dealing with package management systems and the process around production system upgrades.

After working with SLES on z machines as described above, I decided to start contributing to Fedora to expand my skills learned on the job. Because I use RedHat, Centos and Fedora at home out of preference, I decided to work on Fedora software packaging and started maintaining a package I found very useful.

How do you intend to implement your proposal

Since only broad ideas have been given out, a lot of decisions about the implementation details have to be thought out. The first thing that needs to happen is to decide on the level of integration of kpatch into rpm-ostree and how commands are to be provided, the user interface.

Secondly, commands to rpm-ostree have to be coded in C. I think that an iterative approach involving the mentors, especially at the beginning of the project would help drive the development.

A rough timeline for your progress

  • From now - April 22, get acquainted with rpm-ostree and kpatch, read code, bounce ideas with mentors about design decisions.
  • April 22 - May 22, Community bonding, communication via IRC, mailing list.
  • May 23 - June 27, write rpm-ostree commands necessary to drive kpatch. Also modify existing commands to make them kpatch aware (example rpm-ostree status)
    • Code review from mentors and discussions to keep the project aligned.
  • June 20 - 27, Midterm evaluations
  • June 27 - August 15, write low priority or optional commands that would be nice to have into rpm-ostree. Polish the user interface, make sure the command set is clean and coherent and integrates well with the current rpm-ostree command convention.
  • August 15 - 23, Last round of testing, final code reviews and submission of patches for integration into rpm-ostree. Polish and modify patches to conform to rpm-ostree developer suggestions, as long as it takes to get them accepted !

Final deliverable

Partial live update feature integrated into Fedora Atomic Host

Any other details you feel we should consider

I truly believe that contributing to projects like these is an integral part of my education, a bit like internships. Having the ability to work on this project this summer would partly solidify my technical skills, but more importantly give me the opportunity to really become part of the Fedora developer community.