- `affinity Python module <http://pypi.python.org/pypi/affinity/0.1.0>`_,
optional python package for supporting CPU pinning under KVM
- `ElementTree Python module <http://effbot.org/zone/element-index.htm>`_,
- if running python 2.4 (optional, used by the ``ovfconverter`` tool)
+ if running on python 2.4 (optional, used by the ``ovfconverter`` tool)
- `qemu-img <http://qemu.org/>`_, if you want to use ``ovfconverter``
- `fping <http://fping.sourceforge.net/>`_
$ apt-get install lvm2 ssh bridge-utils iproute iputils-arping \
ndisc6 python python-pyopenssl openssl \
python-pyparsing python-simplejson \
- python-pyinotify python-pycurl socat \
- python-elementtree qemu
+ python-pyinotify python-pycurl socat fping
+
+Note that this does not install optional packages::
+
+ $ apt-get install python-paramiko python-affinity qemu-img
+
+If some of the python packages are not available in your system,
+you can try installing them using ``easy_install`` command.
+For example::
+
+ $ apt-get install python-setuptools
+ $ cd / && sudo easy_install \
+ affinity
+
On Fedora to install all required packages except RBD, DRBD and Xen::
$ yum install openssh openssh-clients bridge-utils iproute ndisc6 \
pyOpenSSL pyparsing python-simplejson python-inotify \
- python-lxml python-paramiko socat qemu-img
+ python-lxm socat fping
+
+For optional packages use the command::
+ $ yum install python-paramiko python-affinity qemu-img
If you want to build from source, please see doc/devnotes.rst for more
dependencies.
distributions need to apply the patches on their own.
Ganeti will use the option if it's detected by the ``configure``
- script; auto-detection can be disabled by explicitely passing
+ script; auto-detection can be disabled by explicitly passing
``--enable-socat-compress`` (use the option to disable compression) or
``--disable-socat-compress`` (don't use the option).
- `curl <http://hackage.haskell.org/package/curl>`_, bindings for the
curl library, only needed if you want these tools to connect to remote
clusters (as opposed to the local one)
+- `bytestring <http://hackage.haskell.org/package/bytestring>`_ and
+ `utf8-string <http://hackage.haskell.org/package/utf8-string>`_
+ libraries; these usually come with the GHC compiler
+- `regex-pcre <http://hackage.haskell.org/package/regex-pcre>`_,
+ bindings for the ``pcre`` library
-All of these are also available as package in Debian/Ubuntu::
+Some of these are also available as package in Debian/Ubuntu::
$ apt-get install ghc6 libghc6-json-dev libghc6-network-dev \
libghc6-parallel-dev libghc6-curl-dev
were renamed::
$ apt-get install ghc libghc-json-dev libghc-network-dev \
- libghc-parallel-dev libghc-curl-dev
+ libghc-parallel-dev libghc-curl-dev \
+ libghc-regex-pcre-dev
-If using a distribution which does not provide them, the first install
-the Haskell platform and then install the additional libraries via
+If using a distribution which does not provide them, first install
+the Haskell platform. You can also install ``cabal`` manualy::
+
+ $ apt-get install cabal-install
+
+Then install the additional libraries via
``cabal``::
- $ cabal install json network parallel curl
+ $ cabal install json network parallel curl regex-pcre
The compilation of the htools components is automatically enabled when
the compiler and the requisite libraries are found. You can use the
- `Crypto <http://hackage.haskell.org/package/Crypto>`_, tested with
version 4.2.4
- `text <http://hackage.haskell.org/package/text>`_
-- ``bytestring``, which usually comes with the compiler
- `hinotify <http://hackage.haskell.org/package/hinotify>`_
These libraries are available in Debian Wheezy (but not in Squeeze), so
to install them.
+.. _cabal-note:
+.. note::
+ If one of the cabal packages fails to install due to unfulfilled
+ dependencies, you can try enabling symlinks in ``~/.cabal/config``.
+
+ Make sure that your ``~/.cabal/bin`` directory (or whatever else
+ is defined as ``bindir``) is in your ``PATH``.
+
Installation of the software
----------------------------