Warning: This document describes an old release. Check here for the current version.

Service Installation

On this page, you will install the Nimbus central services and
image repository (Cumulus), and use a cloud
client to access your cloud as a remote client.

This will however only work in "fake mode" which means that the
service is only pretending to start VMs. In later steps you will
enable VMMs, connect them with the central service, and have a
working cloud setup.

The first step is to create a separate unix account under which to
install and run the Nimbus services. It is not recommended to use
the root account. Because you will later be configuring password-less
SSH keys between this account and your hypervisor nodes, it is best
to use a dedicated account for these services.

In this guide, we will be calling the user
nimbus, but you can use anything you like.

As the new nimbus user, fetch and unpack
the latest service distribution.

$ wget http://www.nimbusproject.org/downloads/nimbus-2.6-src.tar.gz

$ tar xfz nimbus-2.6-src.tar.gz

$ cd nimbus-2.6-src/

You must now choose an installation directory. It could be within
the nimbus user home directory, or something
like /opt/nimbus. If the directory exists,
it must be empty and writable by the nimbus user.
If it does not exist, the parent directory must be writable by the nimbus user.

Throughout this guide, we will refer to this installation directory as
$NIMBUS_HOME. To install, run this command from
the Nimbus source directory (specifying your chosen destination).

$ ./install $NIMBUS_HOME

Self-contained

Software is not installed anywhere else on the services node,
only under this installation directory.

Alternate Python

If you need to specify a non default Python, you can do so by setting the
PYTHON environment variable. For example if you
are using RHEL5 and cannot upgrade the system Python to 2.5+, you can
install Python separately and specify
PYTHON=/usr/local/bin/python2.5 for installation.

After the install completes, you should have a Nimbus system set up with
security, web services, and sensible configuration defaults. However the
service is running in "fake" mode, where no VMs are actually started. This
is a great opportunity to test the service and Cumulus installs before we
move on to VMM and network setup.

Service ports

Nimbus requires several network ports. We have chosen some sensible defaults,
but you may adjust them if needed. The defaults are:

Cumulus : 8888

Nimbus Service interface : 8443

EC2 compatible Query Interface: 8444

If you need to change these ports, check out
this section
of the reference guide.

Certificates

The installer generates a new X509 Certificate Authority and host certificate but you are not required to use these in production, it is possible to use your own credential system. Setting this up is out of scope of this guide, you should wait until you have a working system before changing this.

Now that Nimbus is installed and running, we can move on to testing with a real
client. But first, we need to create a user account to test with. We will do this
with the nimbus-new-user tool. It has many options which
you will want to explore later. But for now we should just use the defaults,
specifying an email address to associate with the account as well as a temporary
directory in which to place credentials.

The script outputs a lot of information about the new user, but you only need the
files that were generated and written to your specified output directory. Hold on to these files, you
will need them momentarily, after you install the cloud client.

We will test our services using the Nimbus cloud client. You can do so from the same
system you are installing on, but you may want to use a separate system so you can
verify that networking is working correctly. Grab the latest cloud client from the
Nimbus downloads page
(version must be >= 16).

Now you need to install the files produced earlier by
nimbus-new-user. The cloud.properties
file needs to be placed into the extracted cloud client's conf/
directory. The usercert.pem and
userkey.pem files need to be installed into
~/.nimbus/ in your home directory. Be careful not to overwrite
any credentials you already have in ~/.nimbus/.

$ cp /tmp/newuser/cloud.properties nimbus-cloud-client-017/conf/

$ mkdir ~/.nimbus/

$ cp /tmp/newuser/*.pem ~/.nimbus/

Naturally, if you are testing the client on a different system than the service installation,
you'll need to use scp or similar to copy these files.

You also need to grab a few more files from the Nimbus service installation and drop
them into the client. These are the internal CA certificates and enable the client to
trust the server. The needed files are in
$NIMBUS_HOME/var/ca/trusted-certs/.

First we will attempt to query the service. This command shows the running VMs that you own.
Of course you do not have any at this point, but this can help to diagnose any configuration
or security problems.

$ cd nimbus-cloud-client-017/

$ ./bin/cloud-client.sh --status
Querying for ALL instances.
There's nothing running on this cloud that you own.

If you see this message, all is well. You've successfully queried the running Nimbus service!
The next step is to query Cumulus and list the available images you have to run. Again, of
course you will have none.

$ bin/cloud-client.sh --list
No files.

If that command succeeded, then all of the Nimbus services are operational. We will come back
to this client later and use it to transfer and start real VMs. But for now, let's turn attention
back to the service node to Install DHCPd and Configure Networking.