Outreachy 2015 DecemberMarch: Difference between revisions
(Created page with '= Introduction = QEMU is seeking funding to participate as a mentoring organization in [https://www.gnome.org/outreachy/ Outreachy 2015 December-March]. This page contains our i…') |
|||
Line 46: | Line 46: | ||
== Libvirt projects == | == Libvirt projects == | ||
=== Introducing job control to the storage driver === | |||
'''Summary:''' Currently, libvirt support job cancellation and progress reporting on domains. | |||
That is, if there's a long running job on a domain, e.g. migration, libvirt | |||
reports how much data has already been transferred to the destination and how | |||
much still needs to be transferred. However, libvirt lacks such information | |||
reporting in storage area, to which libvirt developers refer to as the storage | |||
driver. The aim is to report progress on several storage tasks, like volume | |||
wiping, file allocation an others. | |||
* Component: libvirt | |||
* Skill level: intermediate | |||
* Language: C | |||
* Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC) | |||
* Suggested by: Michal Privoznik <mprivozn@redhat.com> | |||
=== Enhancing libvirt-designer === | |||
'''Summary:''' The project is in its very early stage of life. The [https://www.redhat.com/archives/libvirt-announce/2012-October/msg00003.html libvirt-designer] tries to ease generation of libvirt XML with coworking with libosinfo project. Contact me and we can find something suitable. | |||
* Component: libvirt | |||
* Skill level: beginer | |||
* Language: C | |||
* Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC) | |||
* Suggested by: Michal Privoznik <mprivozn@redhat.com> | |||
=== Making virsh more bash like === | |||
'''Summary:''' If you have ever used virsh, you certainly reached the point where you stuggle with its user friendliness. Or unfriendliness I should rather say. Virsh is missing a lot of bash functionality that users consider natural: from automatic completion of object names, through redirecting command outputs through piping commands together. The aim would be to make these functions available in virsh and thus make user experience better. | |||
* Component: libvirt | |||
* Skill level: Advanced | |||
* Language: C | |||
* Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC) | |||
* Suggested by: Michal Privoznik <mprivozn@redhat.com> | |||
=== Abstracting device address allocation === | |||
'''Summary:''' There are many types of addresses that devices can have in libvirt's XML description. Not all address types are properly assigned and checked for duplicates. The goal of this is to have an abstract data structure that would handle assigning all kinds of addresses, handle duplicates, etc. | |||
* Component: libvirt | |||
* Skill level: beginner | |||
* Language: C | |||
* Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC) | |||
* Suggested by: Martin Kletzander <mkletzan@redhat.com> | |||
=== Your own idea === | |||
Just catch me (Michal Privoznik) on IRC and we can discuss what interests you. | |||
* Component: libvirt | |||
* Skill level: subject to negotiation | |||
* Language: C | |||
* Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC) | |||
* Suggested by: Michal Privoznik <mprivozn@redhat.com> | |||
'''Links:''' | |||
* http://libvirt.org/ | |||
* http://wiki.libvirt.org/page/Main_Page | |||
* http://www.ibm.com/developerworks/linux/library/l-libvirt/index.html?ca=drs- | |||
* https://www.berrange.com/topics/libvirt/ | |||
* https://www.redhat.com/archives/libvir-list/ | |||
'''Details:''' | |||
* Component: libvirt | |||
* Skill level: (see description to each item) | |||
* Language: C | |||
* Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC) | |||
* Suggested by: Michal Privoznik <mprivozn@redhat.com> | |||
== Project idea template == | == Project idea template == |
Revision as of 11:58, 9 September 2015
Introduction
QEMU is seeking funding to participate as a mentoring organization in Outreachy 2015 December-March. This page contains our ideas list and information for candidates and mentors.
Find Us
- IRC: #qemu-outreachy on irc.oftc.net
- IRC (development):
- QEMU: #qemu on irc.oftc.net
- libvirt: #virt on irc.oftc.net
- KVM: #kvm on chat.freenode.net
- Mailing lists:
- QEMU: qemu-devel
- libvirt: libvir-list
- KVM: linux-kvm
Please contact the mentor for the project idea you are interested in. IRC is usually the quickest way to get an answer.
For general questions about QEMU in Outreachy, please contact the following people:
- Stefan Hajnoczi (stefanha on IRC)
How to get familiar with our software
See what people are developing and talking about on the mailing lists:
Grab the source code or browse it:
Build QEMU and run it: QEMU on Linux Hosts
Project Ideas
This is the listing of suggested project ideas. Students are free to suggest their own projects by emailing qemu-devel@nongnu.org and (optionally) CCing potential mentors.
QEMU/KVM projects
QEMU projects
Libvirt projects
Introducing job control to the storage driver
Summary: Currently, libvirt support job cancellation and progress reporting on domains. That is, if there's a long running job on a domain, e.g. migration, libvirt reports how much data has already been transferred to the destination and how much still needs to be transferred. However, libvirt lacks such information reporting in storage area, to which libvirt developers refer to as the storage driver. The aim is to report progress on several storage tasks, like volume wiping, file allocation an others.
- Component: libvirt
- Skill level: intermediate
- Language: C
- Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC)
- Suggested by: Michal Privoznik <mprivozn@redhat.com>
Enhancing libvirt-designer
Summary: The project is in its very early stage of life. The libvirt-designer tries to ease generation of libvirt XML with coworking with libosinfo project. Contact me and we can find something suitable.
- Component: libvirt
- Skill level: beginer
- Language: C
- Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC)
- Suggested by: Michal Privoznik <mprivozn@redhat.com>
Making virsh more bash like
Summary: If you have ever used virsh, you certainly reached the point where you stuggle with its user friendliness. Or unfriendliness I should rather say. Virsh is missing a lot of bash functionality that users consider natural: from automatic completion of object names, through redirecting command outputs through piping commands together. The aim would be to make these functions available in virsh and thus make user experience better.
- Component: libvirt
- Skill level: Advanced
- Language: C
- Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC)
- Suggested by: Michal Privoznik <mprivozn@redhat.com>
Abstracting device address allocation
Summary: There are many types of addresses that devices can have in libvirt's XML description. Not all address types are properly assigned and checked for duplicates. The goal of this is to have an abstract data structure that would handle assigning all kinds of addresses, handle duplicates, etc.
- Component: libvirt
- Skill level: beginner
- Language: C
- Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC)
- Suggested by: Martin Kletzander <mkletzan@redhat.com>
Your own idea
Just catch me (Michal Privoznik) on IRC and we can discuss what interests you.
- Component: libvirt
- Skill level: subject to negotiation
- Language: C
- Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC)
- Suggested by: Michal Privoznik <mprivozn@redhat.com>
Links:
- http://libvirt.org/
- http://wiki.libvirt.org/page/Main_Page
- http://www.ibm.com/developerworks/linux/library/l-libvirt/index.html?ca=drs-
- https://www.berrange.com/topics/libvirt/
- https://www.redhat.com/archives/libvir-list/
Details:
- Component: libvirt
- Skill level: (see description to each item)
- Language: C
- Mentor: Michal Privoznik <mprivozn@redhat.com>, mprivozn on IRC (#virt OFTC)
- Suggested by: Michal Privoznik <mprivozn@redhat.com>
Project idea template
=== TITLE === '''Summary:''' Short description of the project Detailed description of the project. '''Links:''' * Wiki links to relevant material * External links to mailing lists or web sites '''Details:''' * Skill level: beginner or intermediate or advanced * Language: C * Mentor: Email address and IRC nick * Suggested by: Person who suggested the idea
Information for mentors
Mentors are responsible for keeping in touch with their candidate and assessing the candidate's progress.
The mentor typically gives advice, reviews the candidate's code, and has regular communication with the candidate to ensure progress is being made.
Being a mentor is a significant time commitment, plan for 5 hours per week. Make sure you can make this commitment because backing out during the summer will affect the candidate's experience.
The mentor chooses their candidate by reviewing candidate application forms, giving out bite-sized tasks so applicants can submit a patch upstream, and conducting IRC interviews with candidates. Depending on the number of candidates, this can be time-consuming in itself. Choosing the right candidate is critical so that both the mentor and the candidate can have a successful experience.