Eucalyptus Source Installation

Eucalyptus 3.2 is becoming ready. It is going to be out soon. But if you think, it’s too hard for you to wait till GA, there are two solutions for you to try out. You can check out nightly builds or go for source installation, which is *fairly* easy.

For this installation I am using two CentOS 6.3 boxes, one as Frontend (CLC/Walrus/CC/SC) and another for backend (NC).

Download the source code from Github,

 # git clone git://github.com/eucalyptus/eucalyptus --recursive 

Configure repositories,

 # yum --nogpg install http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm -y 

[walrus host only]

 # yum --nogpg install http://elrepo.org/linux/elrepo/el6/x86_64/RPMS/elrepo-release-6-4.el6.elrepo.noarch.rpm -y 

Create a eucadeps.repo file for eucalyptus dependencies,

[euca-deps]name=euca-deps
baseurl= http://downloads.eucalyptus.com/software/eucalyptus/build-deps/3.1/rhel/$releasever/$basearch
gpgcheck=0
enabled=1

[euca-runtime]
name=euca-deps
baseurl= http://downloads.eucalyptus.com/software/eucalyptus/runtime-deps/3.1/rhel/$releasever/$basearch
gpgcheck=0
enabled=1

[euca2ools]
name=euca2ools
baseurl= http://downloads.eucalyptus.com/software/euca2ools/2.1/centos/$releasever/$basearch
gpgcheck=0
enabled=1

Install the required dependencies,

 # yum install gcc make ant ant-nodeps axis2-adb-codegen axis2-codegen axis2c-devel jpackage-utils libvirt-devel libxml2-devel libxslt-devel python-devel python-setuptools rampartc-devel swig velocity xalan-j2-xsltc gawk java-devel java-devel openssl-devel curl-devel axis2c dhcp41 dhcp41-common postgresql91 postgresql91-server python-boto rampartc iscsi-initiator-utils perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-Random sudo which jpackage-utils java lvm2 velocity drbd83 drbd83-kmod drbd83-utils drbd euca2ools bitstream-vera-fonts dejavu-serif-fonts bridge-utils iptables vtun device-mapper coreutils e2fsprogs file parted util-linux rsync PyGreSQL libcurl curl httpd libvirt scsi-target-utils vconfig wget kvm patch 

Download euca-WSDL2C.sh and save it to /opt on both machines,

 # wget https://raw.github.com/eucalyptus/eucalyptus-rpmspec/master/euca-WSDL2C.sh -O /opt/euca-WSDL2C.sh 

Download and save eucalyptus-nc-libvirt.pkla to /var/lib/polkit-1/localauthority/10-vendor.d/

 # wget https://raw.github.com/eucalyptus/eucalyptus/master/tools/eucalyptus-nc-libvirt.pkla -O /var/lib/polkit-1/localauthority/10-vendor.d/eucalyptus-nc-libvirt.pkla 

Add user “eucalyptus” on frontend,

 # adduser eucalyptus 

On NC,

 # useradd -G kvm eucalyptus 

Lets build Eucalyptus source now.

Set the following paths on both machines,

# export EUCALYPTUS="/"

Now start compiling Eucalyptus on both machines. Go to the eucalyptus directory and run the following,

 # ./configure '--with-axis2=/usr/share/axis2-*' --with-axis2c=/usr/lib64/axis2c --prefix=$EUCALYPTUS --with-apache2-module-dir=/usr/lib64/httpd/modules --with-db-home=/usr/pgsql-9.1 --with-wsdl2c-sh=/opt/euca-WSDL2C.sh 
 # make clean ; make ; make install 

Add the following in /etc/sysconfig/network,

 NOZEROCONF=yes 

On NC run the following,

# modprobe kvm_intel
# modprobe vhost_net

Configure eucalyptus.conf on both machines.

Run the following on both machines to set permission properly,

 # su -c "euca_conf --setup" 

On Frontend, initialize database and start eucalyptus-cloud service, which will start Cloud Controller, Walrus, Storage Controller, as we have put all in one box. And then start the Cluster Controller. Finally, start Node controller.

# euca_conf --initialize
# service eucalyptus-cloud start

# service eucalyptus-cc start

# service eucalyptus-nc start

Register Eucalyptus components,

# euca_conf --register-walrus --partition walrus --host 10.104.1.179 --component W00
# euca_conf --register-cluster --partition cluster01 --host 10.104.1.179 --component CC00
# euca_conf --register-sc --partition cluster01 --host 10.104.1.179 --component SC00

From 3.2.0, it is a must to set storage manager,

 # euca-modify-property -p cluster01.storage.blockstoragemanager=overlay 

Register node,

 # euca_conf --register-nodes 10.105.1.180 

Good Luck!

8 thoughts on “Eucalyptus Source Installation

    1. Exactly, you are right. At this point we have to configure eucalyptus.conf files on both hosts.
      Those are written in detail in the official Eucalyptus documentation.

      Thanks, let me know if you find any improvement needed.

Leave a reply to ram213 Cancel reply