2011-02-08 08:54:34 -04:00
|
|
|
Python bindings to the OpenStack Nova API
|
2011-01-25 14:01:22 -06:00
|
|
|
==================================================
|
|
|
|
|
2011-02-08 08:54:34 -04:00
|
|
|
This is a client for the OpenStack Nova API. There's a Python API (the
|
2011-02-26 05:04:40 -04:00
|
|
|
``novaclient`` module), and a command-line script (``nova``). Each
|
2011-02-08 08:54:34 -04:00
|
|
|
implements 100% of the OpenStack Nova API.
|
2011-01-25 14:01:22 -06:00
|
|
|
|
2012-12-31 16:29:53 -05:00
|
|
|
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`_.
|
2011-01-25 14:01:22 -06:00
|
|
|
|
2012-12-31 16:29:53 -05:00
|
|
|
.. _OpenStack CLI Guide: http://docs.openstack.org/cli/quick-start/content/
|
|
|
|
.. _OpenStack API documentation: http://docs.openstack.org/api/
|
2011-01-25 14:01:22 -06:00
|
|
|
|
2011-12-01 22:13:07 -05:00
|
|
|
The project is hosted on `Launchpad`_, where bugs can be filed. The code is
|
|
|
|
hosted on `Github`_. Patches must be submitted using `Gerrit`_, *not* Github
|
|
|
|
pull requests.
|
2011-01-25 14:01:22 -06:00
|
|
|
|
2011-12-01 22:13:07 -05:00
|
|
|
.. _Github: https://github.com/openstack/python-novaclient
|
|
|
|
.. _Launchpad: https://launchpad.net/python-novaclient
|
2014-12-05 03:30:40 +00:00
|
|
|
.. _Gerrit: http://docs.openstack.org/infra/manual/developers.html#development-workflow
|
2011-02-08 08:54:34 -04:00
|
|
|
|
2012-12-31 16:29:53 -05:00
|
|
|
python-novaclient is licensed under the Apache License like the rest of
|
|
|
|
OpenStack.
|
2011-02-08 08:54:34 -04:00
|
|
|
|
2011-01-25 14:01:22 -06:00
|
|
|
|
|
|
|
.. contents:: Contents:
|
|
|
|
:local:
|
|
|
|
|
|
|
|
Command-line API
|
|
|
|
----------------
|
|
|
|
|
2011-02-24 13:54:10 -04:00
|
|
|
Installing this package gets you a shell command, ``nova``, that you
|
2012-12-31 16:29:53 -05:00
|
|
|
can use to interact with any OpenStack cloud.
|
2011-01-25 14:01:22 -06:00
|
|
|
|
2012-03-13 22:30:52 -05:00
|
|
|
You'll need to provide your OpenStack username and password. You can do this
|
2012-08-22 13:01:17 -05:00
|
|
|
with the ``--os-username``, ``--os-password`` and ``--os-tenant-name``
|
2012-03-13 22:30:52 -05:00
|
|
|
params, but it's easier to just set them as environment variables::
|
2011-01-25 14:01:22 -06:00
|
|
|
|
2012-03-13 22:30:52 -05:00
|
|
|
export OS_USERNAME=openstack
|
|
|
|
export OS_PASSWORD=yadayada
|
|
|
|
export OS_TENANT_NAME=myproject
|
2011-01-25 14:01:22 -06:00
|
|
|
|
2012-08-22 13:01:17 -05:00
|
|
|
You will also need to define the authentication url with ``--os-auth-url``
|
2013-11-13 12:51:01 +00:00
|
|
|
and the version of the API with ``--os-compute-api-version``. Or set them as
|
|
|
|
an environment variables as well::
|
2011-01-25 14:01:22 -06:00
|
|
|
|
2012-03-13 22:30:52 -05:00
|
|
|
export OS_AUTH_URL=http://example.com:8774/v1.1/
|
2015-02-03 02:32:58 +02:00
|
|
|
export OS_COMPUTE_API_VERSION=2
|
2011-08-12 23:47:25 -07:00
|
|
|
|
2013-11-13 12:51:01 +00:00
|
|
|
If you are using Keystone, you need to set the OS_AUTH_URL to the keystone
|
2011-08-12 23:47:25 -07:00
|
|
|
endpoint::
|
|
|
|
|
2012-03-13 22:30:52 -05:00
|
|
|
export OS_AUTH_URL=http://example.com:5000/v2.0/
|
2011-08-08 13:20:44 -07:00
|
|
|
|
2011-09-07 13:30:20 -07:00
|
|
|
Since Keystone can return multiple regions in the Service Catalog, you
|
2012-08-22 13:01:17 -05:00
|
|
|
can specify the one you want with ``--os-region-name`` (or
|
2012-03-13 22:30:52 -05:00
|
|
|
``export OS_REGION_NAME``). It defaults to the first in the list returned.
|
2011-09-02 12:07:18 -07:00
|
|
|
|
2011-08-08 13:20:44 -07:00
|
|
|
You'll find complete documentation on the shell by running
|
2014-03-13 21:15:56 +10:30
|
|
|
``nova help``
|
2011-08-08 13:20:44 -07:00
|
|
|
|
2011-01-25 14:01:22 -06:00
|
|
|
Python API
|
|
|
|
----------
|
|
|
|
|
2012-12-31 16:29:53 -05:00
|
|
|
There's also a complete Python API, but it has not yet been documented.
|
2011-01-25 14:01:22 -06:00
|
|
|
|
|
|
|
|
2014-08-18 17:04:49 +01:00
|
|
|
To use with nova, with keystone as the authentication system::
|
2011-08-10 16:16:38 -07:00
|
|
|
|
|
|
|
# use v2.0 auth with http://example.com:5000/v2.0/")
|
2015-02-03 02:32:58 +02:00
|
|
|
>>> from novaclient.v2 import client
|
2012-04-18 14:31:28 +08:00
|
|
|
>>> nt = client.Client(USER, PASS, TENANT, AUTH_URL, service_type="compute")
|
2011-08-10 16:16:38 -07:00
|
|
|
>>> nt.flavors.list()
|
|
|
|
[...]
|
|
|
|
>>> nt.servers.list()
|
|
|
|
[...]
|
|
|
|
>>> nt.keypairs.list()
|
|
|
|
[...]
|