My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
DeveloperGuidelines  
Developer guidelines for contributing to Ganeti
Featured
Updated Aug 4, 2011 by han...@google.com

Introduction

This page details the rules that need to be followed when contributing code or documentation to the Ganeti project.

Contributor License Agreement (CLA)

The first requirement is that either your and/or your employer sign the individual or corporate Contributor License Agreement. Which one is needed depends on your particular case.

Code

Since migrating the source code repository to Git (see SourceCode for details), only a limited number of people have commit access. Please send your patches to the [http://groups.google.com/group/ganeti-devel ganeti-devel@googlegroups.com] mailing list to get it reviewed and committed.

Source tree organization

Development of new features for the next major or minor version goes on in the master branch. Bug fixes and small changes are done on the devel-x.y branch and then merged into master. Bug fixes while preparing a new release go directly to the stable-x.y branch, which is merged into devel-x.y after the release.

Please read the README or INSTALL files on how to build from source code. ReleaseProcess describes how to build new releases.

Preparing patches for submission

If you have more than a trivial fix it's better to make sure that the static checks are fine before sending the patches. This can be done by running the command:

make commit-check

For this, you need to have epydoc and pylint installed, for the latter specifically the following version:

$ pylint --version
pylint 0.21.1, 
astng 0.20.1, common 0.50.3

Note: depending on your Python version, pylint might give deprecation warnings; these can be ignored (e.g. by commenting out the respective code in pylint itself). epydoc might also give warnings on blocks of the form #:; this is fixed by applying a patch from its SourceForge page (https://sourceforge.net/tracker/index.php?func=detail&aid=2585292&group_id=32455&atid=405618).

Useful git repository config snippet

This snippet might be useful when working with the Ganeti git repo and shall be added to .git/config of the cloned repository.

[push]
  default = tracking
[branch]
  autosetuprebase = always
[sendemail]
  signedoffcc = false
  suppressfrom = true
  chainreplyto = false
  to = ganeti-devel@googlegroups.com
  thread = false
  confirm = compose

For further details what each of this options does have a look at `git help config`.

Wiki updates

The wiki can be updated by members directly. Non-members need to send their requested changes to the mailing list.


Sign in to add a comment
Powered by Google Project Hosting