From Fedora Project Wiki

Revision as of 12:36, 2 April 2015 by Anrao (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


* Your name: Anusha B Rao
* FAS Account: Anrao
* Fedora userpage: https://fedoraproject.org/wiki/User:Anrao

'''Contact Information'''

*Email Address: anusha91rao@gmail.com
*Blog URL: anraoblog.wordpress.com
*Freenode IRC Nick: anrao

'''NOTE''': We require all students to blog about the progress of their project. 
You are strongly encouraged to register on the Freenode network and participate 
in our IRC channels. For more information and other instructions contact Org Admins.

''please answer following questions''

===Why do you want to work with the Fedora Project?===
   

===Do you have any past involvement with the Fedora project or any other open source project as a contributor?===
Yes I started with [http://www.phpmyadmin.net/home_page/devel.php phpMyAdmin] and sent out 2 patches, since it was my first time open-source 
contribution and I was inexperienced I couldn't do much and hence in the later August 2014 I started to contribute to the 
[https://developer.mozilla.org/en/Firefox_OS/Developing_Gaia Gaia] - a front-end platform of [https://developer.mozilla.org/en-US/Firefox_OS 
Firefox_OS]. The community was really helpful and I also sent few patches which were accepted this time.Since January 2015 I've been working on 
[http://www.gluster.org/community/documentation/index.php/Development_Work_Flow GlusterFS] which is a RedHat product. 

===Did you participate with the past GSoC programs, if so which years, which organizations?===
   Not yet but I'm looking forward to work with Fedora

===Will you continue contributing/ supporting the Fedora project after the GSoC 2014 program, if yes, which team(s), you are interested with?===
Yes, of course, As a student contributor to FOSS and Fedora, this platform is where I start as the open-source contributor which will continue.
The glusterfs - georeplication component has lot of features to be implemented and some of the features to be optimised,
hence I will continue contributing to it. In the long run, I would want to build a glusterfs component which will allow   


===Why should we choose you over other applicants?===


Proposal Description

Overview and The Need

Dependencies

This feature is build over the existing asynchronous replication infrastructure in GlusterFS which is current uni-directional. The core algorithm is modified and extended to support bi-directional asynchronous replication conflict detection. The data synchronization engine is rsync(1) which is available on UNIX platforms. Conflict detection would rely on vector clocks (basically unix epochs) to accurately identify concurrent data modification on either of the end-points.

Any relevant experience you have

As a contributor to glusterfs I have prior knowledge of the codebase,this would be helping me in integrating the new feature build for the geo-replication over the current features using C and Python wherever required.

How do you intend to implement your proposal

Refactoring will be done in the code base to a certain extent as discussed with the mentor and also the journaling feature - 'changelog' of glusterfs will be customised to serve the file-level synchronization.

A rough timeline for your progress

April: Build a basic prototype of the project.

May- May mid: Interact with the Gluster community inorder to design development & specification.

May mid: Start implementation

June end: First cut of implementation

July- August : Functional tests and bug fixes.

August - August mid: Verification and feature availability


Final deliverables

  • Develop a bi-directional (with scope to extent it to N-directional) asynchronous replication infrastructure with conflict detection capabilities. *With this feature, users should be able to replicate data across two GlusterFS volumes and
  • Be able to identify and concurrent modifications to data objects. Such situations can be reported to the user/administrator for resolution.
  • Non conflicting objects should be replicated without any interruption to either end-points.



Any other details you feel we should consider

I have keen interest increasing my Fedora and FOSS contribution. I also possess good knowledge of the project's codebase and I have been in regular touch with my mentor since path 2 months.