Developer notes
===============
Build dependencies
------------------
Most dependencies from :doc:`install-quick`, plus:
- `GNU make `_
- `GNU tar `_
- `Gzip `_
- `Docbook tools `_
(docbook2html and docbook2man)
- `python-sphinx `_
(tested with version 0.6.1)
- `graphviz `_
- the `en_US.UTF-8` locale must be enabled on the system
To generate unittest coverage reports (``make coverage``), `coverage
`_ needs to be installed.
Configuring for development
---------------------------
.. highlight:: sh
Run the following command (only use ``PYTHON=...`` if you need to use a
different python version)::
./autogen.sh && \
./configure PYTHON=python2.4 \
--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. Is 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.
.. vim: set textwidth=72 :