Difference between revisions of "BiteSizedTasks"

From Libvirt Wiki
Jump to: navigation, search
(BiteSizedTasks)
 
(120 intermediate revisions by 8 users not shown)
Line 1: Line 1:
= BiteSizedTasks =
+
This page tracks introductory tasks for new libvirt contributors. Code cleanups, bugs, and small features are listed with difficulty ranging from trivial to intermediate.
  
 +
These tasks are good first introductions to libvirt code. You will be required to get things building and make sure the test suite passes, but not necessarily need to understand the details of what libvirt is doing. Mostly these are following existing example changes that are already in the code. Contact the listed mentor with any questions
  
This page aims to summarize small, trivial contributions that should help starting libvirt contributor to get to know the libvirt source code. The other source for trivial bugs can be found [https://bugzilla.redhat.com/show_bug.cgi?id=libvirtFirstBug here].
+
These tasks are all tracked as [https://gitlab.com/libvirt/libvirt/-/issues?label_name=bitesizedtask issues with the bitesizedtask tag]
 
 
=== Introduce new virtType enum item ===
 
'''Description''': Introduce VIR_DOMAIN_VIRT_NONE to give name the default value of zero. The rest of the code should be updated as it currently expects -1 as an alias for 'not specified'.
 
 
 
'''URL''': https://www.redhat.com/archives/libvir-list/2015-June/msg00608.html
 
 
 
=== Don't include .c file for editing support ===
 
'''Description''': When editing an XML of a domain, network or anything else, it is implemented in virsh-edit.c and currently included as a C file with the behaviour being influenced by EDIT_ macros.  This should be changed so that the same file is not being included over and over again, but its function is called instead.  The behaviour should be affected by callbacks in some control structure.
 
 
 
=== Abstract the differences of code usage between with and without gnutls ===
 
'''Description''': The code is filled with WITH_GNUTLS preprocessor macros.  But in libvirt it is customary to use stub functions and abstract structures for this kind of differentiation.  WITH_GNUTLS should be used almost only in virnettlscontext.c or similar.
 
 
 
=== Move duplicated code from multiple drivers into private library functions ===
 
'''Description''': Both QEMU and LXC drivers are very similar when dealing with processes, cgroups, etc.  Most of that could be split to modules in src/util/, sometimes even to existing ones, and with near-zero effort, it would only take time.  Take functions virLXCCgroupSetupBlkioTune() and qemuSetupBlkioCgroup() for example.  They do the same thing with one extra check on the qemu side of things.  The goal would be to identify such functions, abstract them into the libvirt.so library (e.g. in src/util/) as private (see src/libvirt_private.syms) and use those from such drivers.  That would shrink the codebase and merge checks and fixes that were introduced in only one of the drivers.
 

Latest revision as of 15:17, 17 April 2020

This page tracks introductory tasks for new libvirt contributors. Code cleanups, bugs, and small features are listed with difficulty ranging from trivial to intermediate.

These tasks are good first introductions to libvirt code. You will be required to get things building and make sure the test suite passes, but not necessarily need to understand the details of what libvirt is doing. Mostly these are following existing example changes that are already in the code. Contact the listed mentor with any questions

These tasks are all tracked as issues with the bitesizedtask tag