Python bindings to the OpenStack Nova API¶
This is a client for OpenStack Nova API. There’s a Python API (the novaclient
module), and a command-line script (installed as nova). Each implements the entire
OpenStack Nova API.
You’ll need credentials for an OpenStack cloud that implements the Compute API, such as TryStack, HP, or Rackspace, in order to use the nova client.
See also
You may want to read the OpenStack Compute Developer Guide – the overview, at least – to get an idea of the concepts. By understanding the concepts this library should make more sense.
Contents:
- The nova shell utility
- The
novaclient
Python API - Exceptions
- Version 2 API
- Agents
- Aggregates
- Assisted_volume_snapshots
- Availability_zones
- Cells
- Certs
- Client
- Cloudpipe
- Fixed_ips
- Flavor_access
- Flavors
- Floating_ip_dns
- Floating_ip_pools
- Floating_ips
- Floating_ips_bulk
- Fping
- Hosts
- Hypervisors
- Images
- Instance_action
- Keypairs
- Limits
- List_extensions
- Migrations
- Networks
- Quota_classes
- Quotas
- Security_group_default_rules
- Security_group_rules
- Security_groups
- Server_external_events
- Server_groups
- Server_migrations
- Servers
- Services
- Usage
- Versions
- Virtual_interfaces
- Volumes
Contributing¶
Code is hosted at git.openstack.org. Submit bugs to the Nova project on Launchpad. Submit code to the openstack/python-novaclient project using Gerrit.
Testing¶
The preferred way to run the unit tests is using tox
.
See Consistent Testing Interface for more details.
Deprecating commands¶
There are times when commands need to be deprecated due to rename or removal. The process for command deprecation is:
- Push up a change for review which deprecates the command(s).
- The change should print a deprecation warning to stderr each time a deprecated command is used.
- That warning message should include a rough timeline for when the command will be removed and what should be used instead, if anything.
- The description in the help text for the deprecated command should mark that it is deprecated.
- The change should include a release note with the
deprecations
section filled out.- The deprecation cycle is typically the first client release after the next full Nova server release so that there is at least six months of deprecation.
Once the change is approved, have a member of the nova-release team release a new version of python-novaclient.
Example: https://review.openstack.org/#/c/185141/
This change was made while the Nova 12.0.0 Liberty release was in development. The current version of python-novaclient at the time was 2.25.0. Once the change was merged, python-novaclient 2.26.0 was released. Since there was less than six months before 12.0.0 would be released, the deprecation cycle ran through the 13.0.0 Nova server release.