User:Proneetv/GSoC Proposal

Abstract

The aim of this project is to improve the cloud based support for Gentoo based systems and reduce the developers time in setting up the infrastructure.

Backgroud

Currently, there are no such support present in catalyst to back the production of cloud based images or for VMs. Also, while developing, setting up a scalable infrastructure is very important and there is always a need to spawn new systems depending on the use case.

Objective

The objective of the proposal is divided into three parts:

1) Release-engineering process - catalyst module which would be used to build AMI (amazon machine images) and upload it directly to the AWS - catalyst module, backed by packer, to build Gentoo in VM friendly formats

2) Docker-Puppet module - Puppet module to spawn docker containers by basically extending puppet-docker to work with Gentoo. Currently it doesn’t support Gentoo based systems.

3) Jenkins CI - currently people use binaries to make it work. I would write an ebuild for building this from source and proxy maintain it for its support in future.

Use-cases

I have identified the following use cases for this project:
 * the releng team can build and produce latest images for supporting AWS and other services.
 * users can manage their multiple web services each into a separate container with completely independent configurations (eg: maintaining multiple wordpress sites) with the help of webapp.
 * most cloud based systems nowadays have multiple tiers where they can spawn as many instances for any service they would want to provide (for eg. web servers, db servers)
 * managing different versions of the project hooked to git
 * setting up jenkins would be easy as portage will have its support

Timeline

21st April - 19th May : Community Bonding Period
 * Discuss the initial plan with the mentor
 * Go through packer docs
 * Brush up python

19th May - 10th June: Build modules for building AMIs and VM images

11th June - 20th June: Test various aspects of the new module. Writing a series of tests to check the working of the module and trying it on AWS and Virtual box

27th June : Mid Term Evaluations

22nd June - 5th July: Start writing manifest to make the puppet-docker work with Gentoo

6th July - 25th July: Continue porting puppet-docker to work with Gentoo

25th July - 31st July: Write tests to check the working of the module on Gentoo

1st August - 15th August: Writing ebuilds for Jenkins CI support and proxy maintain it

16th August - 21st August: Finish writing documentation for each module

22nd August : Final Evaluation

Biography

I am a sophomore from IIT Kanpur, India, studying Materials Science and Engineering. I have been into computers and programming since I first started using a Celeron PC back in 2nd grade; usually playing games or fiddling with GW-Basic which was my first experience with writing programs. I had my first experience with a Linux distro (Fedora) in 9th and since then i am into using various *nix distributions.

I have been using Gentoo from quite a while now (around 6 months) and since then I am following the Gentoo project. I have contributed ebuilds (bug #446026) and also track the bugzilla now and then. My interest lies in System softwares and learning various programming languages. I have previously worked on a personal project where I had to configure our development architecture with puppet.

I have been participating in a lot of programming competitions and hackathons. I have won Yahoo HackU twice (2012 and 2013) and also secured 56th position out of 410 teams in the ACM ICPC Asia Regionals 2013 held at Amritapuri. I have been the secretary of Programming Club of my college where I guided my fellow mates and juniors with programming. Currently I am also an active member of Navya (local FOSS hobby group) which aims at increasing FOSS awareness among the students and provides quite a few hosted services for the community.

Contact info


 * Email: proneet11@gmail.com
 * IRC: proneet @ freenode
 * Github: github.com/proneetv
 * Facebook: facebook.com/proneet.verma
 * Twitter: @proneet11
 * Phone: 00 91 8765181061