Eucalyptus Configuration (1.4)

This document describes the steps for configuring Eucalyptus after the software has been installed on all nodes (either from source or using RPMs).

1. First-time Configuration

We provide the 'euca_conf' script as a convenience for setting up the configuration file located in '$EUCALYPTUS/etc/eucalyptus/eucalyptus.conf'. Expert users may edit this file manually instead of using 'euca_conf'. If you installed from RPMs, $EUCALYPTUS is /opt/eucalyptus/.

To configure eucalyptus you need to specify which services to start (cloud, cluster controller and/or node controller). On the front-end:

$EUCALYPTUS/usr/sbin/euca_conf -cc Y -cloud Y -nc N $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf

Next, add a list of hostnames on which you plan to run node controllers:

$EUCALYPTUS/usr/sbin/euca_conf -nodes "<hostname1> ... <hostnamen>" $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf

Eucalyptus provides some options when it comes to configuring your VM virtual network. By default, we enable the simplest but least feature-ful networking mode. Please consult the Eucalyptus Networking document if you wish to try other modes that will enable more features (security groups, elastic IPs, etc.).

On each compute node, create a local directory where VM images are placed at VM run-time. Instruct the nodes to run only the node controller, and point it to the path of VM images. This path is used to store temporary VM images and it's important that it be empty (everything in it will be removed!).

for x in hostname1 hostname2 ... hostnameN ; do \
 	ssh $x "mkdir -p /usr/local/instances/; $EUCALYPTUS/usr/sbin/euca_conf -cc N -cloud N -nc Y -instances /usr/local/instances $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf"
done

Finally, ensure that the networking settings in 'eucalyptus.conf' on each of your nodes is configured properly. For instance, correct values for VNET_INTERFACE and VNET_BRIDGE may differ from your front-end. See Eucalyptus Networking for more details.

2. Running Eucalyptus

To start eucalyptus run

$EUCALYPTUS/etc/init.d/eucalyptus start

on each of your systems running eucalyptus. To stop it, run:

$EUCALYPTUS/etc/init.d/eucalyptus stop

If you installed from RPMs you can now skip to step 3. If you installed from source and you want to have eucalyptus started automatically when your machines are (re)booted, you can add the following symlink

ln -sf $EUCALYPTUS/etc/init.d/eucalyptus /etc/init.d/eucalyptus

and add the symlink to the distribution's booting process. This process differs from distribution to distribution. For example if you have update-rc.d available you can run:

update-rc.d eucalyptus defaults

or if you have chkconfig available you can run:

chkconfig eucalyptus on

3. First-time runtime setup

To configure eucalyptus, after you started all components, login to

https://localhost:8443

where you should substitute localhost with the name of the host running the cloud controller. (WARNING: on some machines it may take few minutes after the starting of the Cloud Controller for the URL to be responsive the first time you run Eucalyptus.) You will be prompted for a user/password which are set to admin/admin. Upon logging in you will be guided through three first-time tasks:

  1. You will be forced to change the admin password.
  2. You will be asked to set the admin's email address.
  3. You will be asked to confirm the URL of the Walrus service (the storage component of Eucalyptus) which should start with the hostname or IP address of the cluster head node where you are installing the ClC.

After completing the first-time tasks, you will see the 'Configuration' tab. At the very least, to enable Eucalyptus, you will need to add a cluster by clicking the 'Add Cluster' button. For a single-cluster installation, the hostname is likely to be same as the admin web interface hostname to which you are connected. Be sure to click 'Save clusters' before continuing. This generates cryptographic keys that you will need to manually propagate to all nodes (see instructions below).

To finish the first-time configuration, propagate the cryptographic keys to all nodes:

$EUCALYPTUS/usr/sbin/euca_sync_key -c $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf 

This command uses rsync and ssh for key propagation, so you may be prompted for the password of each of your cluster nodes.

Finally, to use the system with the EC2 client tools, you must generate user credentials. Click the 'Credentials' tab and download your certificates via the 'Download certificates' button. You will be able to use these x509 certificates with Amazon EC2 tools and third-party tools like rightscale.com.

Create a directory, for example $HOME/.euca,

mkdir $HOME/.euca

unpack the credentials into it, and source the included 'eucarc':

. $HOME/.euca/eucarc

Note that you will have to source this file every time you intend to use the EC2 command-line tools, or you may add it to your local default environment.