« Previous - Version 6/13 (diff) - Next » - Current version
Corbin Simpson, 05/03/2012 11:27 pm


Developers

Contents

Git Access

Read-only Git Access
git clone git://git.osuosl.org/gitolite/ganeti/ganeti_webmgr
Commit Access

Commit access requires an account on our gitolite server. You must submit patches and establish a relationship with us prior to being granted commit access.

git clone git@git.osuosl.org:ganeti/ganeti_webmgr

Branch Layout

We use Git-flow for managing our branches. Read about the branching model and why you should use it too.

  • master - Releases only.
  • develop - Mostly stable development branch. Small changes only. It is acceptable that this branch have bugs, but should remain mostly stable.
  • feature/<name> - Large code changes and new features.

Coding Standards

We follow PEP-8, the guide for python style.

Testing

Ganeti Web Manager has a fairly complete test suite. New code should have matching tests. Before committing code, run the suite for Ganeti Web Manager and Object Permissions

./manage.py test ganeti
./manage.py test object_permissions
Views
All views should be thoroughly tested for security, checking to ensure that the proper http codes are returned.
  • Test Anonymous User access
  • Test Permission based access
  • Test Superuser based access
Check for invalid input.
  • missing fields
  • invalid data for field
Templates & Javascript

The test suite does not yet include selenium tests for verifying javascript functionality. Some basic tests can be performed using django's test suite:

  • Check objects in the context: forms, lists of objects, etc.
  • Check for existence of values in forms.

Submitting Patches

Patches should be attached to tickets, or may be sent via email. Both Diffs and git url+identifier are acceptable ways to submit a patch.