Installation Guide 1.2

OpenNebula assumes a typical cluster configuration, with a cluster front-end that will act as the OpenNebula server and cluster nodes, where Virtual Machines will be executed. There is at least one physical network joining all the cluster nodes with the front-end. Additionally, folders can be shared through NFS between the cluster elements, and also users via NIS. An image repository can exist, ideally as a dedicated file server, or it can be merged into the front-end.

OpenNebula cluster layout


Requirements

Front-End

This machine will act as the OpenNebula server and therefore needs to have installed the following software:

  • ruby >= 1.8.5
  • sqlite3 >= 3.5.2
  • sqlite3-dev >= 3.5.6-3
  • sqlite3-ruby
  • libxmlrpc-c >= 1.06
  • scons >= 0.97
  • g++ >= 4

These packages are only needed if you want to rebuild template parsers:

  • flex >= 2.5
  • bison >= 2.3

Most of this software is already packaged in linux distributions. Here are the packages needed in a debian lenny.

  • ruby: ruby
  • sqlite3: libsqlite3-0, sqlite3
  • sqlite3-dev : libsqlite3-dev
  • sqlite3-ruby: libsqlite3-ruby
  • libxmlrpc-c: libxmlrpc-c3-dev, libxmlrpc-c3
  • scons: scons

Cluster Nodes

Provisioning hosts need to have installed:

  • ruby >= 1.8.5
  • sudo >= 1.6.9

And, depending on the chosen hypervisor, please check the virtualization section of the Configuration Guide for additional requirements.

Platform Notes

Ubuntu/Kubuntu 8.04 and 7.10

Not known issues.

Debian Lenny

The xen packages on Lenny seems to be broken, and they don't work with the tap:aio interface

Sander Klous in the mailing proposes the following workaround:

<xterm> # ln -s /usr/lib/xen-3.2-1/bin/tapdisk /usr/sbin # echo xenblktap ยป /etc/modules # reboot </xterm>

MAC OSX 10.4 10.5

Not known issues.

Fedora 8

Not known issues.

Gentoo

When installing libxmlrpc you have to specify that it will be compiled with thread support:

# USE="threads" emerge xmlrpc-c

CentOS 5

Centos does not come with needed versions of following packages:

  • scons
  • xmlrpc-c
  • sqlite

Here are the instructions on how to install them.

scons

The version that comes with Centos is 0.96 and it is not compatible with our build scripts. To install version 0.98 you can download the RPM at:

http://www.scons.org/download.php

Tested with scons-0.98.5-1.noarch.rpm.

xmlrpc-c

To install xmlrpc-c there is an apt repository with needed packages. You can create a new file in /etc/apt/sources.list.d containing this line:

repomd http://centos.karan.org el5/extras/testing/i386/RPMS

After that you need to update apt database and install these two packages:

$ apt-get install xmlrpc-c xmlrpc-c-devel

sqlite

This package should be installed from source, you can download the tar.gz from http://www.sqlite.org/download.html. It was tested with sqlite 3.5.9.

If you do not install it to a system wide location (/usr or /usr/local) you need to add LD_LIBRARY_PATH and tell scons where to find the files:

$ scons sqlite=<path where you installed sqlite>

Installation

Follow these simple steps to install the OpenNebula software:

  • Download and untar the OpenNebula tarball.
  • Change to the created folder and run scons to compile OpenNebula
scons OPTION=VALUE

the argument expression [OPTIONAL] is used to set non-default paths for :

OPTION VALUE
sqlite path-to-sqlite-install
xmlrpc path-to-xmlrpc-install
parsers yes if you want to rebuild flex/bison files

  • OpenNebula can be installed in two modes: system-wide, or in self-contained directory. In either case, you do not need to run OpenNebula as root. These options can be specified when running the install script:
./install.sh <install_options>

where <install_options> can be one or more of:

OPTION VALUE
-u user that will run OpenNebula, defaults to user executing install.sh
-g group of the user that will run OpenNebula, defaults to user executing install.sh
-k keep current configuration files, useful when upgrading
-d target installation directory. If defined, it will specified the path for the self-contained install. If not defined, the installation will be performed system wide
-r remove Opennebula, only useful if -d was not specified, otherwise rm -rf $ONE_LOCATION would do the job
-h prints installer help

Now you need to configure OpenNebula to adjust it to your particular cluster.

Verifying the Installation

Depending on the installation mode (defined by the presence or absence of the -d option in the installation script), there are two possibilities with respect to the layout of the OpenNebula files.

Self contained

Once the OpenNebula software is installed specifying a directory with the -d option, the next tree should be found under $ONE_LOCATION:

System wide

Once the OpenNebula software is installed without specifying a directory with the -d option, the next tree reflects the files installed:

To verify the installation, we recommend to follow the steps in the QuickStart guide, from this step onwards. Before tacking it, please make sure that your environment is correctly set.