This document describes the steps for configuring Eucalyptus after the software has been installed on all nodes (either from source or using RPMs).
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.
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
To configure eucalyptus, after you started all components, login to
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:
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.