Hi everybody, It's glad to hear from all of you. It seems that each of you is experienced enough to develop for Ganeti this summer. Unfortunately, we have a limited number of slots, so it's impossible to select everybody. The selection process will mainly depend on your proposals. It's better to demonstrate deep understanding of a problem in a proposal. You are welcome to ask any questions and even discuss your own ideas but it's only 5 days left.
Since once in the past Ganeti has faced with negative experience working with a GSoC student, currently* it's obligatory to have at least one patch accepted to the mainline* in order to be selected. This requirement is necessary to ensure that the development environment will not become a barrier for you this summer. Please note, Ganeti is a huge project with a lot of dependencies and even compilation of the codebase may become a challenging task. The deadline for patch submission is April, 9th. It's still enough time but the development and code review process may last for a while, especially for the first patch. I suggest you to pay attention to the issues tagged with "SmallTask". Of course, you are welcome to ask any questions in the meantime. And now some comments about the projects: 1) Optimize balancing speed by accounting for migration speed: In this project, it's necessary to extend HTools with a new functionality. HTools is written in Haskell (and even Template Haskell), so you should have an acceptable Haskell knowledge. Python knowledge is necessary as well in order to understand the codebase. As I already commented, the main part of the task is open-ended (I mean an estimation of move/migration time) and it might make sense to start with some simple heuristics, then implement the necessary options and only afterwards try some complex methods for the estimations (e.g. collect historical data and try some time series predictions). I'll be a mentor of a student who'll be selected to work on this project (if any). 2) Improve KVM Live Migration: Please, don't become confused with the topic name. You don' need to implement any migration algorithms or write hypervizor code here. If you are interesting in hypervizor development - you are welcome to apply to QEMU but not to Ganeti. The main idea here is to extend KVM hypervisor support code on the Ganeti side in order to support the new migration improvements that have been already implemented in QEMU. Hypervisor support part of Ganeti is implemented in Python but working on Ganeti, at some point you'll have to read and modify some bits of Haskell code anyway. As for this project, probably, somebody else will be your mentor. Good luck with your proposals! And do not hesitate to ask any questions. But please be specific. Questions like "I want to write some code for Ganeti this summer. How can I start?" are too general to answer. You already have basic information on the ideas page. Thanks for your interest in Ganeti, Oleg
