X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/2fa8f9633f9bc413d67f9480f77f54d279972493..54e8f65d37d65a687be5394ab59a9bed79b672e8:/INSTALL diff --git a/INSTALL b/INSTALL index 22f16b2..fa9ca65 100644 --- a/INSTALL +++ b/INSTALL @@ -2,8 +2,9 @@ Ganeti quick installation guide =============================== Please note that a more detailed installation procedure is described in -the :doc:`install`. A glossary of terms can be found in the -:doc:`glossary`. +the :doc:`install`. Refer to it if you are setting up Ganeti the first time. +This quick installation guide is mainly meant as reference for experienced +users. A glossary of terms can be found in the :doc:`glossary`. Software Requirements @@ -47,6 +48,7 @@ Before installing, please verify that you have the following programs: - `Python IP address manipulation library `_ - `Bitarray Python library `_ +- `GNU Make `_ These programs are supplied as part of most Linux distributions, so usually they can be installed via the standard package manager. Also @@ -54,10 +56,22 @@ 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 RBD, DRBD and Xen:: - $ apt-get install lvm2 ssh bridge-utils iproute iputils-arping \ + $ apt-get install lvm2 ssh bridge-utils iproute iputils-arping make \ + ndisc6 python python-openssl openssl \ + python-pyparsing python-simplejson python-bitarray \ + python-pyinotify python-pycurl python-ipaddr socat fping + +For older distributions (eg. Debian Squeeze) the package names are +different.:: + + $ apt-get install lvm2 ssh bridge-utils iproute iputils-arping make \ ndisc6 python python-pyopenssl openssl \ - python-pyparsing python-simplejson \ - python-pyinotify python-pycurl socat fping + python-pyparsing python-simplejson python-bitarray \ + python-pyinotify python-pycurl python-ipaddr socat fping + +If bitarray is missing it can be installed from easy-install:: + + $ easy_install bitarray Note that this does not install optional packages:: @@ -67,16 +81,18 @@ 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 + $ apt-get install python-setuptools python-dev $ cd / && sudo easy_install \ - affinity + affinity \ + bitarray \ + ipaddr On Fedora to install all required packages except RBD, DRBD and Xen:: - $ yum install openssh openssh-clients bridge-utils iproute ndisc6 \ + $ yum install openssh openssh-clients bridge-utils iproute ndisc6 make \ pyOpenSSL pyparsing python-simplejson python-inotify \ - python-lxm socat fping + python-lxm socat fping python-bitarray python-ipaddr For optional packages use the command:: @@ -130,19 +146,22 @@ deploy Ganeti on production machines). More specifically: - `deepseq `_ - `curl `_, tested with versions 1.3.4 and above +- `hslogger `_, version 1.1 and + above (note that Debian Squeeze only has version 1.0.9) Some of these are also available as package in Debian/Ubuntu:: + $ apt-get install ghc libghc-json-dev libghc-network-dev \ + libghc-parallel-dev libghc-deepseq-dev \ + libghc-utf8-string-dev libghc-curl-dev \ + libghc-hslogger-dev + +Or in older versions of these distributions (using GHC 6.x):: + $ apt-get install ghc6 libghc6-json-dev libghc6-network-dev \ libghc6-parallel-dev libghc6-deepseq-dev \ libghc6-curl-dev -Or in newer versions of these distributions (using GHC 7.x):: - - $ apt-get install ghc libghc-json-dev libghc-network-dev \ - libghc-parallel-dev libghc-deepseq-dev \ - libghc-utf8-string-dev libghc-curl-dev - In Fedora, some of them are available via packages as well:: $ yum install ghc ghc-json-devel ghc-network-devel \ @@ -152,22 +171,21 @@ If using a distribution which does not provide them, first install the Haskell platform. You can also install ``cabal`` manually:: $ apt-get install cabal-install + $ cabal update -Then install the additional libraries via -``cabal``:: +Then install the additional libraries (only the ones not available in your +distribution packages) via ``cabal``:: - $ cabal install json network parallel utf8-string curl + $ cabal install json network parallel utf8-string curl hslogger Haskell optional features ~~~~~~~~~~~~~~~~~~~~~~~~~ Optionally, more functionality can be enabled if your build machine has -a few more Haskell libraries enabled: the ``ganeti-confd`` daemon -(``--enable-confd``) and the monitoring daemon +a few more Haskell libraries enabled: the ``ganeti-confd`` and +``ganeti-luxid`` daemon (``--enable-confd``) and the monitoring daemon (``--enable-mond``). The list of extra dependencies for these is: -- `hslogger `_, version 1.1 and - above (note that Debian Squeeze only has version 1.0.9) - `Crypto `_, tested with version 4.2.4 - `text `_ @@ -179,18 +197,21 @@ a few more Haskell libraries enabled: the ``ganeti-confd`` daemon - `vector `_ - `snap-server` `_, version 0.8.1 and above. +- `process `_, version 1.0.1.1 and + above -These libraries are available in Debian Wheezy (but not in Squeeze, with -the exception of curl), so you can use either apt:: +These libraries are available in Debian Wheezy (but not in Squeeze), so you +can use either apt:: - $ apt-get install libghc-hslogger-dev libghc-crypto-dev libghc-text-dev \ + $ apt-get install libghc-crypto-dev libghc-text-dev \ libghc-hinotify-dev libghc-regex-pcre-dev \ libghc-attoparsec-dev libghc-vector-dev \ libghc-snap-server-dev -or ``cabal``:: +or ``cabal``, after installing a required non-Haskell dependency:: - $ cabal install hslogger Crypto text hinotify regex-pcre \ + $ apt-get install libpcre3-dev libcurl4-openssl-dev + $ cabal install Crypto text hinotify==0.3.2 regex-pcre \ attoparsec vector snap-server to install them.