- - Xen virtualization (version 3.0.x or 3.1)
- http://xen.xensource.com/
- - DRBD (kernel module and userspace utils)
- http://www.drbd.org/
- - LVM2
- http://sourceware.org/lvm2/
- - OpenSSL
- http://www.openssl.org/
- - OpenSSH
- http://www.openssh.com/portable.html
- - bridge utilities
- http://bridge.sourceforge.net/
- - fping
- http://fping.sourceforge.net/
- - iproute2
- http://developer.osdl.org/dev/iproute2
- - arping (part of iputils package)
- ftp://ftp.inr.ac.ru/ip-routing/iputils-current.tar.gz
- - mdadm (Linux Software Raid tools)
- http://www.kernel.org/pub/linux/utils/raid/mdadm/
- - Python 2.4
- http://www.python.org
- - Python Twisted library (the core is enough)
- http://twistedmatrix.com/
- - Python OpenSSL bindings
- http://pyopenssl.sourceforge.net/
-
-For testing, you also need the YAML module for Python (http://pyyaml.org/).
-
-For building from source, you also need tar, gzip or bzip2 and make.
+
+- `Xen Hypervisor <http://www.xen.org/>`_, version 3.0 or above, if
+ running on Xen
+- `KVM Hypervisor <http://www.linux-kvm.org>`_, version 72 or above, if
+ running on KVM. In order to use advanced features, such as live
+ migration, virtio, etc, an even newer version is recommended (qemu-kvm
+ versions 0.11.X or above have shown good behavior).
+- `DRBD <http://www.drbd.org/>`_, kernel module and userspace utils,
+ version 8.0.7 or above
+- `LVM2 <http://sourceware.org/lvm2/>`_
+- `OpenSSH <http://www.openssh.com/portable.html>`_
+- `bridge utilities <http://www.linuxfoundation.org/en/Net:Bridge>`_
+- `iproute2 <http://www.linuxfoundation.org/en/Net:Iproute2>`_
+- `arping <http://www.skbuff.net/iputils/>`_ (part of iputils)
+- `ndisc6 <http://www.remlab.net/ndisc6/>`_ (if using IPv6)
+- `Python <http://www.python.org/>`_, version 2.4 or above, not 3.0
+- `Python OpenSSL bindings <http://pyopenssl.sourceforge.net/>`_
+- `simplejson Python module <http://code.google.com/p/simplejson/>`_
+- `pyparsing Python module <http://pyparsing.wikispaces.com/>`_
+- `pyinotify Python module <http://trac.dbzteam.org/pyinotify/>`_
+- `PycURL Python module <http://pycurl.sourceforge.net/>`_
+- `ctypes Python module
+ <http://starship.python.net/crew/theller/ctypes/>`_, if running on
+ python 2.4 (optional, used for node daemon memory locking)
+- `socat <http://www.dest-unreach.org/socat/>`_
+- `Paramiko <http://www.lag.net/paramiko/>`_, if you want automated SSH
+ setup; optional otherwise but manual setup of the nodes required
+
+These programs are supplied as part of most Linux distributions, so
+usually they can be installed via the standard package manager. Also
+many of them will already be installed on a standard machine. On
+Debian/Ubuntu, you can use this command line to install all required
+packages, except for DRBD and Xen::
+
+ $ apt-get install lvm2 ssh bridge-utils iproute iputils-arping \
+ ndisc6 python python-pyopenssl openssl \
+ python-pyparsing python-simplejson \
+ python-pyinotify python-pycurl socat
+
+If you want to build from source, please see doc/devnotes.rst for more
+dependencies.