* 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.