OpenStack Compute (Nova) Client
Go to file
Andrey Kurilin 1d1e43957d [microversions] Add support for 2.19
2.19 - Allow the user to set and get the server description. The user will
       be able to set the description when creating, rebuilding, or updating
       a server, and get the description as part of the server details.

Methods `rebuild` and `create` of novaclient.v2.servers.ServerManager were
not wrapped with `api_versions.wraps` decorator to reduce code and docsting
duplication. Version checks added inside these methods.

Change-Id: I75b804c6edd0cdf02c2cd002d0b5968fec8da545
2016-02-16 16:20:41 +02:00
doc Fix URLs for CLI Reference and API 2016-01-16 17:38:18 +01:00
novaclient [microversions] Add support for 2.19 2016-02-16 16:20:41 +02:00
releasenotes Add release notes for return-request-id-to-caller 2016-01-29 10:20:06 +09:00
tools Use # noqa to ignore one line but not whole file 2016-02-02 01:03:06 +08:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:54:09 +00:00
.gitignore Add reno for release notes management 2015-11-23 21:03:34 +01:00
.gitreview Add .gitreview config file for gerrit. 2011-11-16 09:23:10 -08:00
.mailmap Add mailmap entry 2014-05-07 12:16:41 -07:00
.testr.conf Add OS_TEST_PATH to testr 2015-01-27 13:09:42 -08:00
babel.cfg Enable i18n with Babel. 2015-09-08 10:10:25 -07:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:40 +00:00
HACKING.rst Clean up a little cruft 2013-09-20 16:02:48 -07:00
LICENSE whitespace cleanups 2011-08-08 13:25:29 -07:00
README.rst Fix URLs for CLI Reference and API 2016-01-16 17:38:18 +01:00
requirements.txt Merge "Updated from global requirements" 2016-01-25 18:19:42 +00:00
run_tests.sh Migrate to flake8. 2013-05-25 08:22:39 +02:00
setup.cfg Update translation setup 2016-01-28 14:12:20 +00:00
setup.py Updated from global requirements 2015-09-17 12:16:56 +00:00
test-requirements.txt Updated from global requirements 2016-02-08 02:43:58 +00:00
tox.ini Add functional tests launcher for py3 env 2016-01-15 13:25:33 +00:00

Python bindings to the OpenStack Nova API

Latest Version

Downloads

This is a client for the OpenStack Nova API. There's a Python API (the novaclient module), and a command-line script (nova). Each implements 100% of the OpenStack Nova API.

See the OpenStack CLI guide for information on how to use the nova command-line tool. You may also want to look at the OpenStack API documentation.

python-novaclient is licensed under the Apache License like the rest of OpenStack.

Contents:

Command-line API

Installing this package gets you a shell command, nova, that you can use to interact with any OpenStack cloud.

You'll need to provide your OpenStack username and password. You can do this with the --os-username, --os-password and --os-tenant-name params, but it's easier to just set them as environment variables:

export OS_USERNAME=openstack
export OS_PASSWORD=yadayada
export OS_TENANT_NAME=myproject

You will also need to define the authentication url with --os-auth-url and the version of the API with --os-compute-api-version. Or set them as an environment variables as well:

export OS_AUTH_URL=http://example.com:8774/v2/
export OS_COMPUTE_API_VERSION=2

If you are using Keystone, you need to set the OS_AUTH_URL to the keystone endpoint:

export OS_AUTH_URL=http://example.com:5000/v2.0/

Since Keystone can return multiple regions in the Service Catalog, you can specify the one you want with --os-region-name (or export OS_REGION_NAME). It defaults to the first in the list returned.

You'll find complete documentation on the shell by running nova help

Python API

There's also a complete Python API, with documentation linked below.

To use with keystone as the authentication system:

>>> from novaclient import client
>>> nt = client.Client(VERSION, USER, PASSWORD, TENANT, AUTH_URL)
>>> nt.flavors.list()
[...]
>>> nt.servers.list()
[...]
>>> nt.keypairs.list()
[...]

Testing

There are multiple test targets that can be run to validate the code.

  • tox -e pep8 - style guidelines enforcement
  • tox -e py27 - traditional unit testing
  • tox -e functional - live functional testing against an existing openstack

Functional testing assumes the existence of a clouds.yaml file as supported by os-client-config (http://docs.openstack.org/developer/os-client-config) It assumes the existence of a cloud named devstack that behaves like a normal devstack installation with a demo and an admin user/tenant - or clouds named functional_admin and functional_nonadmin.