-
Michael Hanselmann authored
This utility checks whether the code conforms to PEP8. Some checks had to be disabled for Ganeti. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
08366664
Developer notes
Build dependencies
Most dependencies from :doc:`install-quick`, plus (for Python):
- GNU make
- GNU tar
- Gzip
- pandoc
- python-sphinx (tested with version 0.6.1)
- graphviz
- the en_US.UTF-8 locale must be enabled on the system
- pylint and its associated dependencies
- pep8
Note that for pylint, at the current moment the following versions need to be used:
$ pylint --version
pylint 0.21.1,
astng 0.20.1, common 0.50.3
To generate unittest coverage reports (make coverage
), coverage needs to be installed.
For Haskell development, again all things from the quick install document, plus:
- haddock, documentation generator (equivalent to epydoc for Python)
- HsColour, again used for documentation (it's source-code pretty-printing)
- hlint, a source code linter (equivalent to pylint for Python)
- the QuickCheck library, version 2.x
-
hpc
, which comes with the compiler, so you should already have it
Under Debian, these can be installed (on top of the required ones from the quick install document) via:
apt-get install libghc-quickcheck2-dev hscolour hlint
Configuring for development
Run the following command (only use PYTHON=...
if you need to use a
different python version):
./autogen.sh && \
./configure --prefix=/usr/local --sysconfdir=/etc --localstatedir=/var
Packaging notes
Ganeti is mostly developped and tested on Debian-based distributions, while still keeping adoptability to other Linux distributions in mind.
The doc/examples/
directory contains a number of potentially useful
scripts and configuration files. Some of them might need adjustment
before use.
daemon-util
This script, in the source code as daemons/daemon-util.in
, is used
to start/stop Ganeti and do a few other things related to system
daemons. It is recommended to use daemon-util
also from the system's
init scripts. That way the code starting and stopping daemons is shared
and future changes have to be made in only one place.
daemon-util
reads extra arguments from variables (*_ARGS
) in
/etc/default/ganeti
. When modifying daemon-util
, keep in mind to
not remove support for the EXTRA_*_ARGS
variables for starting
daemons. Some parts of Ganeti use them to pass additional arguments when
starting a daemon.
The reload_ssh_keys
function can be adjusted to use another command
for reloading the OpenSSH daemon's host keys.