1
Installation on other distros (like Debian, Fedora or CentOS )
2
==============================================================
4
Feel free to add additional notes for additional distributions.
6
Nova installation on CentOS 5.5
7
-------------------------------
9
These are notes for installing OpenStack Compute on CentOS 5.5 and will be updated but are NOT final. Please test for accuracy and edit as you see fit.
11
The principle botleneck for running nova on centos in python 2.6. Nova is written in python 2.6 and CentOS 5.5. comes with python 2.4. We can not update python system wide as some core utilities (like yum) is dependent on python 2.4. Also very few python 2.6 modules are available in centos/epel repos.
16
Add euca2ools and EPEL repo first.::
18
cat >/etc/yum.repos.d/euca2ools.repo << EUCA_REPO_CONF_EOF
21
baseurl=http://www.eucalyptussoftware.com/downloads/repo/euca2ools/1.3.1/yum/centos/
29
rpm -Uvh 'http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm'
31
Now install python2.6, kvm and few other libraries through yum::
33
yum -y install dnsmasq vblade kpartx kvm gawk iptables ebtables bzr screen euca2ools curl rabbitmq-server gcc gcc-c++ autoconf automake swig openldap openldap-servers nginx python26 python26-devel python26-distribute git openssl-devel python26-tools mysql-server qemu kmod-kvm libxml2 libxslt libxslt-devel mysql-devel
35
Then download the latest aoetools and then build(and install) it, check for the latest version on sourceforge, exact url will change if theres a new release::
37
wget -c http://sourceforge.net/projects/aoetools/files/aoetools/32/aoetools-32.tar.gz/download
38
tar -zxvf aoetools-32.tar.gz
43
Add the udev rules for aoetools::
45
cat > /etc/udev/rules.d/60-aoe.rules << AOE_RULES_EOF
46
SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k", GROUP="disk", MODE="0220"
47
SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k", GROUP="disk", MODE="0440"
48
SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k", GROUP="disk", MODE="0220"
49
SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k", GROUP="disk", MODE="0220"
51
KERNEL=="etherd*", NAME="%k", GROUP="disk"
54
Load the kernel modules::
62
Now, install the python modules using easy_install-2.6, this ensures the installation are done against python 2.6
65
easy_install-2.6 twisted sqlalchemy mox greenlet carrot daemon eventlet tornado IPy routes lxml MySQL-python
66
python-gflags need to be downloaded and installed manually, use these commands (check the exact url for newer releases ):
70
wget -c "http://python-gflags.googlecode.com/files/python-gflags-1.4.tar.gz"
71
tar -zxvf python-gflags-1.4.tar.gz
73
python2.6 setup.py install
76
Same for python2.6-libxml2 module, notice the --with-python and --prefix flags. --with-python ensures we are building it against python2.6 (otherwise it will build against python2.4, which is default)::
78
wget -c "ftp://xmlsoft.org/libxml2/libxml2-2.7.3.tar.gz"
79
tar -zxvf libxml2-2.7.3.tar.gz
81
./configure --with-python=/usr/bin/python26 --prefix=/usr
85
python2.6 setup.py install
88
Once you've done this, continue at Step 3 here: :doc:`../single.node.install`