There are three main tools that a system administrator will find useful to manage their cloud; the nova client, the nova-manage command, and the Euca2ools commands.
The nova-manage command may only be run by cloud administrators. Both novaclient and euca2ools can be used by all users, though specific commands may be restricted by Role Based Access Control in the Identity Management service.
Installing the python-novaclient gives you a nova
shell command that enables
Compute API interactions from the command line. You install the client, and then provide
your username and password, set as environment variables for convenience, and then you
can have the ability to send commands to your cloud on the command-line.
To install python-novaclient, download the tarball from http://pypi.python.org/pypi/python-novaclient/2.6.3#downloads and then install it in your favorite python environment.
$ curl -O http://pypi.python.org/packages/source/p/python-novaclient/python-novaclient-2.6.3.tar.gz $ tar -zxvf python-novaclient-2.6.3.tar.gz $ cd python-novaclient-2.6.3 $ sudo python setup.py install
Now that you have installed the python-novaclient, confirm the installation by entering:
$ nova help
usage: nova [--debug] [--os-username OS_USERNAME] [--os-password OS_PASSWORD] [--os-tenant-name_name OS_TENANT_NAME] [--os-auth-url OS_AUTH_URL] [--os-region-name OS_REGION_NAME] [--service-type SERVICE_TYPE] [--service-name SERVICE_NAME] [--endpoint-type ENDPOINT_TYPE] [--version VERSION] <subcommand> ...
In return, you will get a listing of all the
commands and parameters for the nova command line
client. By setting up the required parameters as
environment variables, you can fly through these
commands on the command line. You can add
--os-username
on the nova
command, or set them as environment variables:
$ export OS_USERNAME=joecool $ export OS_PASSWORD=coolword $ export OS_TENANT_NAME=coolu
Using the Identity Service, you are supplied with an
authentication endpoint, which nova recognizes as the
OS_AUTH_URL
.
$ export OS_AUTH_URL=http://hostname:5000/v2.0 $ export NOVA_VERSION=1.1
The nova-manage command may be used to perform many essential functions for administration and ongoing maintenance of nova, such as network creation or user manipulation.
The man page for nova-manage has a good explanation for each of its functions, and is recommended reading for those starting out. Access it by running:
$ man nova-manage
For administrators, the standard pattern for executing a nova-manage command is:
$ nova-manage category command [args]
For example, to obtain a list of all projects: nova-manage project list
Run without arguments to see a list of available command categories: nova-manage
You can also run with a category argument such as user to see a list of all commands in that category: nova-manage service
For a command-line interface to EC2 API calls, use the euca2ools command line tool. It is documented at http://open.eucalyptus.com/wiki/Euca2oolsGuide_v1.3