Corporate Home Open Source Home
Syndicate content
Eucalyptus

Installing Eucalyptus (2.0) on openSUSE 11.2

Eucalyptus can be installed on openSUSE 11 from source, or by using binary RPM packages. This document details the steps required to install Eucalyptus from RPMs. In what follows, the value of $VERSION must be set to the version of Eucalyptus you wish to install. For example, we can set the value to 2.0.3 using bash:

export VERSION=2.0.3

Prerequisites

If you start with a standard openSUSE installation, you will satisfy all prerequisites with the following steps:

  • Front-end, node and client machine system clocks are synchronized (i.e. using NTP).

    sntp -P no -r pool.ntp.org
    yast2 -i ntp
    /etc/init.d/ntp restart

  • Install all other dependency packages that are required for Eucalyptus to run on the front end

    zypper install apache2 apache2-prefork java-1_6_0-openjdk \
           java-1_6_0-openjdk-devel mozilla-nss libvirt curl \
           vlan dhcp-server bridge-utils \
           perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-Random tgt

and on the node

zypper install vlan apache2 perl-Crypt-OpenSSL-RSA \
       perl-Crypt-OpenSSL-Random tgt

  • Install Xen packages and network bridge, using the 'yast2' command and following these steps:

    • Virtualization
    • Install Hypervisor and Tools
    • Select 'OK'

    This creates the network bridge for you, so there is no need to create it yourself.

  • Node has a fully installed and configured installation of Xen.

    sed --in-place \
        's/#(xend-http-server no)/(xend-http-server yes)/' \
        /etc/xen/xend-config.sxp
    sed --in-place \
        's/#(xend-address localhost)/(xend-address localhost)/'\
        /etc/xen/xend-config.sxp
    /etc/init.d/xend restart

  • We recommend that you verify your Xen installation by manually bringing up a VM and testing that it has network connectivity using bridged networking.

  • Firewall rules must permit the Eucalyptus components to communicate with one another, and clients to communicate with Eucalyptus.

    • NOTE: On the front-end, ports 8443, 8773, 8774 and 9001 must be open. On the node, port 8775 must be open
    • If you are planning on using Elastic IPs and/or Security Groups, you may want to consider disabling the firewall and use Eucalyptus facilities for enabling custom firewall rules (see Network configuration for more information).
      yast2 firewall startup manual
      /etc/init.d/SuSEfirewall2_init stop
      reboot

Download and Install RPMs

Eucalyptus binary installation is broken up into several packages: one for each of the components (CLC, Walrus, CC, etc.), as well as a couple of common packages.

There are two options for downloading and installing the packages:

Zypper option

These packages are available from our repository. To use this option:

zypper ar --refresh http://www.eucalyptussoftware.com/downloads/repo/eucalyptus/$VERSION/yum/opensuse Eucalyptus

answer question about trusting packages from this repository then refresh it

zypper refresh Eucalyptus

now install eucalyptus on the front-end

zypper install eucalyptus-cloud eucalyptus-cc \
       eucalyptus-walrus eucalyptus-sc 

and on the node

zypper install eucalyptus-nc 

Tarball option

These packages are available in a single tarball, wherein we also include copies of third-party openSUSE packages that Eucalyptus depends on (Rampart, Axis2C, many Java libraries), at http://open.eucalyptus.com/downloads (look for a openSUSE tarball of the right Eucalyptus version and architecture).

Untar the bundle in a temporary location:

tar zxvf eucalyptus-$VERSION-<em>.tar.gz
cd eucalyptus-$VERSION-</em>

In the examples below we use x86_64, which should be replaced with i386 or i586 on 32-bit architectures.

Install RPMs on the front end

First, on the front end, install third-party dependency RPMs:

cd eucalyptus-$VERSION*-rpm-deps-x86_64
rpm -Uvh aoetools-21-1.el4.x86_64.rpm \
         euca-axis2c-1.6.0-1.x86_64.rpm \
         euca-rampartc-1.3.0-1.x86_64.rpm \
         vblade-14-1mdv2008.1.x86_64.rpm \
         vtun-3.0.1-1.x86_64.rpm
cd ..

then install the -cloud, -walrus, -cc and -sc RPMs:

rpm -Uvh eucalyptus-$VERSION-<em>.x86_64.rpm \
         eucalyptus-common-java-$VERSION-</em>.x86_64.rpm \
         eucalyptus-cloud-$VERSION-<em>.x86_64.rpm \
         eucalyptus-sc-$VERSION-</em>.x86_64.rpm \
         eucalyptus-walrus-$VERSION-<em>.x86_64.rpm \
         eucalyptus-cc-$VERSION-</em>.x86_64.rpm \
         eucalyptus-gl-$VERSION-*.x86_64.rpm

Install RPMs on the nodes

Next, on each node, install the dependency packages:

cd eucalyptus-$VERSION*-rpm-deps-x86_64
rpm -Uvh aoetools-25-2.49.x86_64.rpm \
         euca-axis2c-1.6.0-1.x86_64.rpm \
         euca-rampartc-1.3.0-1.x86_64.rpm \
         vblade-15-2.49.x86_64.rpm
cd ..

then install the node controller RPM with dependencies:

rpm -Uvh eucalyptus-$VERSION-<em>.x86_64.rpm \
         eucalyptus-gl-$VERSION-</em>.x86_64.rpm \
         eucalyptus-nc-$VERSION-*.x86_64.rpm

Regardless of the download and installation option used, make sure that the libvirt daemon (libvirtd) is running and configured to start at boot.

  • /etc/init.d/libvirtd start
  • check eucalyptus can interact with libvirt su eucalyptus -c "virsh list"

On the node, uncomment these lines in /etc/libvirt/libvirtd.conf:

unix_sock_group = "libvirt"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"

Post-Install Steps

Now start up your Eucalyptus services. On the front-end:

/etc/init.d/eucalyptus-cloud start
/etc/init.d/eucalyptus-cc start

On the node:

/etc/init.d/eucalyptus-nc start

At this point you should be ready to proceed with first-time configuration.