~rlane/nova/ldapimprovements

« back to all changes in this revision

Viewing changes to doc/source/adminguide/distros/others.rst

  • Committer: Ryan Lane
  • Date: 2010-11-24 15:46:32 UTC
  • mfrom: (382.48.1 trunk)
  • Revision ID: laner@controller-20101124154632-zh7kwjuyyd02a2lh
MergeĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Installation on other distros (like Debian, Fedora or CentOS )
 
2
==============================================================
 
3
 
 
4
Feel free to add additional notes for additional distributions.
 
5
 
 
6
Nova installation on CentOS 5.5
 
7
-------------------------------
 
8
 
 
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.
 
10
 
 
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.
 
12
 
 
13
Pre-reqs
 
14
--------
 
15
 
 
16
Add euca2ools and EPEL repo first.::
 
17
 
 
18
    cat >/etc/yum.repos.d/euca2ools.repo << EUCA_REPO_CONF_EOF
 
19
    [eucalyptus]
 
20
    name=euca2ools
 
21
    baseurl=http://www.eucalyptussoftware.com/downloads/repo/euca2ools/1.3.1/yum/centos/
 
22
    enabled=1
 
23
    gpgcheck=0
 
24
 
 
25
    EUCA_REPO_CONF_EOF
 
26
 
 
27
::
 
28
 
 
29
    rpm -Uvh 'http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm'
 
30
 
 
31
Now install python2.6, kvm and few other libraries through yum::
 
32
 
 
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
 
34
 
 
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::
 
36
 
 
37
    wget -c http://sourceforge.net/projects/aoetools/files/aoetools/32/aoetools-32.tar.gz/download
 
38
    tar -zxvf aoetools-32.tar.gz
 
39
    cd aoetools-32
 
40
    make
 
41
    make install
 
42
 
 
43
Add the udev rules for aoetools::
 
44
 
 
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"
 
50
    # aoe block devices
 
51
    KERNEL=="etherd*",       NAME="%k", GROUP="disk"
 
52
    AOE_RULES_EOF
 
53
 
 
54
Load the kernel modules::
 
55
 
 
56
    modprobe aoe
 
57
 
 
58
::
 
59
 
 
60
    modprobe kvm
 
61
 
 
62
Now, install the python modules using easy_install-2.6, this ensures the installation are done against python 2.6
 
63
 
 
64
 
 
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 ):
 
67
 
 
68
::
 
69
 
 
70
    wget -c "http://python-gflags.googlecode.com/files/python-gflags-1.4.tar.gz"
 
71
    tar -zxvf python-gflags-1.4.tar.gz
 
72
    cd python-gflags-1.4
 
73
    python2.6 setup.py install
 
74
    cd ..
 
75
 
 
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)::
 
77
 
 
78
    wget -c "ftp://xmlsoft.org/libxml2/libxml2-2.7.3.tar.gz"
 
79
    tar -zxvf libxml2-2.7.3.tar.gz
 
80
    cd libxml2-2.7.3
 
81
    ./configure --with-python=/usr/bin/python26 --prefix=/usr
 
82
    make all
 
83
    make install
 
84
    cd python
 
85
    python2.6 setup.py install
 
86
    cd ..
 
87
 
 
88
Once you've done this, continue at Step 3 here: :doc:`../single.node.install`