The nova.api.openstack.extensions Module

class ControllerExtension(extension, collection, controller)

Bases: object

Extend core controllers of nova OpenStack API.

Provide a way to extend existing nova OpenStack API core controllers.

class ExtensionDescriptor(ext_mgr)

Bases: object

Base class that defines the contract for extensions.

Note that you don’t have to derive from this class to have a valid extension; it is purely a convenience.

alias = None

List of extensions.ControllerExtension extension objects.

Controller extensions are used to extend existing controllers.


List of extensions.ResourceExtension extension objects.

Resources define new nouns, and are accessible through URLs.


Validate required fields for extensions.

Raises an attribute error if the attr is not defined

name = None
updated = None
class ExtensionManager

Bases: object

Load extensions from the configured extension path.

See nova/tests/api/openstack/compute/extensions/ or an example extension implementation.


Returns a list of ControllerExtension objects.


Returns a list of ResourceExtension objects.


Execute an extension factory.

Loads an extension. The ‘ext_factory’ is the name of a callable that will be imported and called with one argument–the extension manager. The factory callable is expected to call the register() method at least once.

class ExtensionsController(extension_manager)

Bases: nova.api.openstack.wsgi.Resource

create(req, body)
delete(req, id)
show(req, id)
class ResourceExtension(collection, controller=None, parent=None, collection_actions=None, member_actions=None, custom_routes_fn=None, inherits=None, member_name=None)

Bases: object

Add top level resources to the OpenStack API in nova.

class V21APIExtensionBase(extension_info)

Bases: object

Abstract base class for all v2.1 API extensions.

All v2.1 API extensions must derive from this class and implement the abstract methods get_resources and get_controller_extensions even if they just return an empty list. The extensions must also define the abstract properties.


Alias for the extension.


Return a list of controller extensions.

The extensions should return a list of ControllerExtension objects. This list may be empty.


Return a list of resources extensions.

The extensions should return a list of ResourceExtension objects. This list may be empty.


Validate required fields for extensions.

Raises an attribute error if the attr is not defined


Name of the extension.


Version of the extension.

check_compute_policy(context, action, target, scope='compute')
core_authorizer(api_name, extension_name)

Decorator for v2.1 API methods which specifies expected exceptions.

Specify which exceptions may occur when an API method is called. If an unexpected exception occurs then return a 500 instead and ask the user of the API to file a bug report.

extension_authorizer(api_name, extension_name)
load_standard_extensions(ext_mgr, logger, path, package, ext_list=None)

Registers all standard API extensions.

soft_core_authorizer(api_name, extension_name)
soft_extension_authorizer(api_name, extension_name)

Previous topic

The nova.api.openstack.compute.volumes Module

Next topic

The nova.api.openstack.urlmap Module

Project Source

This Page