Table Of Contents

Previous topic

Authentication and Authorization

Next topic

Scheduler

This Page

Psst... hey. You're reading the latest content, but it might be out of sync with code. You can read Cinder 2011.2 docs or all OpenStack docs too.

API Endpoint

Cinder has a system for managing multiple APIs on different subdomains. Currently there is support for the OpenStack API, as well as the Amazon EC2 API.

Common Components

The cinder.api Module

root_app_factory(loader, global_conf, **local_conf)

The cinder.api.cloud Module

OpenStack API

The openstack Module

WSGI middleware for OpenStack API controllers.

class APIMapper(controller_scan=<function controller_scan at 0x30257d0>, directory=None, always_scan=False, register=True, explicit=True)

Bases: routes.mapper.Mapper

APIMapper.routematch(url=None, environ=None)
class APIRouter(ext_mgr=None)

Bases: cinder.wsgi.Router

Routes requests on the OpenStack API to the appropriate controller and method.

APIRouter.ExtensionManager = None
classmethod APIRouter.factory(global_config, **local_config)

Simple paste factory, cinder.wsgi.Router doesn’t have

class FaultWrapper(application)

Bases: cinder.api.middleware.fault.FaultWrapper

class ProjectMapper(controller_scan=<function controller_scan at 0x30257d0>, directory=None, always_scan=False, register=True, explicit=True)

Bases: cinder.api.openstack.APIMapper

ProjectMapper.resource(member_name, collection_name, **kwargs)

The auth Module

EC2 API

The cinder.api.ec2 Module

The cloud Module

The metadatarequesthandler Module

Tests

The api_unittest Module

The api_integration Module

The cloud_unittest Module

The api.fakes Module

class Context

Bases: object

class FakeAuthDatabase

Bases: object

static FakeAuthDatabase.auth_token_create(context, token)
static FakeAuthDatabase.auth_token_destroy(context, token_id)
static FakeAuthDatabase.auth_token_get(context, token_hash)
FakeAuthDatabase.data = {}
class FakeRateLimiter(application)

Bases: object

class FakeRequestContext(*args, **kwargs)

Bases: cinder.context.RequestContext

class FakeRouter(ext_mgr=None)

Bases: cinder.wsgi.Router

class FakeToken(**kwargs)

Bases: object

FakeToken.id_count = 0
class HTTPRequest(environ, charset=None, unicode_errors=None, decode_param_names=None, **kw)

Bases: webob.request.Request

classmethod HTTPRequest.blank(*args, **kwargs)
class TestRouter(controller)

Bases: cinder.wsgi.Router

get_fake_uuid(token=0)
stub_out_key_pair_funcs(stubs, have_key_pair=True)
stub_out_rate_limiting(stubs)
wsgi_app(inner_app_v2=None, fake_auth=True, fake_auth_context=None, use_no_auth=False, ext_mgr=None)

The api.test_wsgi Module

The test_api Module

The test_auth Module

The test_faults Module