doc | ||
novaclient | ||
python-novaclient/locale | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
babel.cfg | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
MANIFEST.in | ||
openstack-common.conf | ||
README.rst | ||
requirements.txt | ||
run_tests.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Python bindings to the OpenStack Nova API
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.
- License: Apache License, Version 2.0
- PyPi - package installation
- Online Documentation
- Blueprints - feature specifications
- Bugs - issue tracking
- Source
- Specs
- How to Contribute
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.