df9181e564
This creates a noauth2 auth_strategy which is similar to noauth, except it only gives you an admin context if the username passed in is 'admin'. This allows testing of non admin activities. noauth is deprecated as of this commit. While we expect that it would only be used in testing, it is exposed as a conf option, so could be used behind a different auth proxy. Also make the error path for pipeline loading contain a full LOG.exception. This is a fatal condition for nova, and the current error was often quite opaque. The full stack trace during this fatal error makes addressing paste.ini issues much more straight forward. DocImpact Change-Id: I7cb5ab3e43a1e3bd7ccba0480053361743f859b2
135 lines
4.0 KiB
INI
135 lines
4.0 KiB
INI
############
|
|
# Metadata #
|
|
############
|
|
[composite:metadata]
|
|
use = egg:Paste#urlmap
|
|
/: meta
|
|
|
|
[pipeline:meta]
|
|
pipeline = ec2faultwrap logrequest metaapp
|
|
|
|
[app:metaapp]
|
|
paste.app_factory = nova.api.metadata.handler:MetadataRequestHandler.factory
|
|
|
|
#######
|
|
# EC2 #
|
|
#######
|
|
|
|
[composite:ec2]
|
|
use = egg:Paste#urlmap
|
|
/: ec2cloud
|
|
|
|
[composite:ec2cloud]
|
|
use = call:nova.api.auth:pipeline_factory
|
|
noauth = ec2faultwrap logrequest ec2noauth cloudrequest validator ec2executor
|
|
noauth2 = ec2faultwrap logrequest ec2noauth cloudrequest validator ec2executor
|
|
keystone = ec2faultwrap logrequest ec2keystoneauth cloudrequest validator ec2executor
|
|
|
|
[filter:ec2faultwrap]
|
|
paste.filter_factory = nova.api.ec2:FaultWrapper.factory
|
|
|
|
[filter:logrequest]
|
|
paste.filter_factory = nova.api.ec2:RequestLogging.factory
|
|
|
|
[filter:ec2lockout]
|
|
paste.filter_factory = nova.api.ec2:Lockout.factory
|
|
|
|
[filter:ec2keystoneauth]
|
|
paste.filter_factory = nova.api.ec2:EC2KeystoneAuth.factory
|
|
|
|
[filter:ec2noauth]
|
|
paste.filter_factory = nova.api.ec2:NoAuth.factory
|
|
|
|
[filter:cloudrequest]
|
|
controller = nova.api.ec2.cloud.CloudController
|
|
paste.filter_factory = nova.api.ec2:Requestify.factory
|
|
|
|
[filter:authorizer]
|
|
paste.filter_factory = nova.api.ec2:Authorizer.factory
|
|
|
|
[filter:validator]
|
|
paste.filter_factory = nova.api.ec2:Validator.factory
|
|
|
|
[app:ec2executor]
|
|
paste.app_factory = nova.api.ec2:Executor.factory
|
|
|
|
#############
|
|
# OpenStack #
|
|
#############
|
|
|
|
[composite:osapi_compute]
|
|
use = call:nova.api.openstack.urlmap:urlmap_factory
|
|
/: oscomputeversions
|
|
/v1.1: openstack_compute_api_v2
|
|
/v2: openstack_compute_api_v2
|
|
/v2.1: openstack_compute_api_v21
|
|
/v3: openstack_compute_api_v3
|
|
|
|
[composite:openstack_compute_api_v2]
|
|
use = call:nova.api.auth:pipeline_factory
|
|
noauth = compute_req_id faultwrap sizelimit noauth ratelimit osapi_compute_app_v2
|
|
noauth2 = compute_req_id faultwrap sizelimit noauth2 ratelimit osapi_compute_app_v2
|
|
keystone = compute_req_id faultwrap sizelimit authtoken keystonecontext ratelimit osapi_compute_app_v2
|
|
keystone_nolimit = compute_req_id faultwrap sizelimit authtoken keystonecontext osapi_compute_app_v2
|
|
|
|
[composite:openstack_compute_api_v21]
|
|
use = call:nova.api.auth:pipeline_factory_v21
|
|
noauth = compute_req_id faultwrap sizelimit noauth osapi_compute_app_v21
|
|
noauth2 = compute_req_id faultwrap sizelimit noauth2 osapi_compute_app_v21
|
|
keystone = compute_req_id faultwrap sizelimit authtoken keystonecontext osapi_compute_app_v21
|
|
|
|
[composite:openstack_compute_api_v3]
|
|
use = call:nova.api.auth:pipeline_factory_v21
|
|
noauth = request_id faultwrap sizelimit noauth_v3 osapi_compute_app_v3
|
|
noauth2 = request_id faultwrap sizelimit noauth_v3 osapi_compute_app_v3
|
|
keystone = request_id faultwrap sizelimit authtoken keystonecontext osapi_compute_app_v3
|
|
|
|
[filter:request_id]
|
|
paste.filter_factory = oslo.middleware:RequestId.factory
|
|
|
|
[filter:compute_req_id]
|
|
paste.filter_factory = nova.api.compute_req_id:ComputeReqIdMiddleware.factory
|
|
|
|
[filter:faultwrap]
|
|
paste.filter_factory = nova.api.openstack:FaultWrapper.factory
|
|
|
|
[filter:noauth]
|
|
paste.filter_factory = nova.api.openstack.auth:NoAuthMiddlewareOld.factory
|
|
|
|
[filter:noauth2]
|
|
paste.filter_factory = nova.api.openstack.auth:NoAuthMiddleware.factory
|
|
|
|
[filter:noauth_v3]
|
|
paste.filter_factory = nova.api.openstack.auth:NoAuthMiddlewareV3.factory
|
|
|
|
[filter:ratelimit]
|
|
paste.filter_factory = nova.api.openstack.compute.limits:RateLimitingMiddleware.factory
|
|
|
|
[filter:sizelimit]
|
|
paste.filter_factory = oslo.middleware:RequestBodySizeLimiter.factory
|
|
|
|
[app:osapi_compute_app_v2]
|
|
paste.app_factory = nova.api.openstack.compute:APIRouter.factory
|
|
|
|
[app:osapi_compute_app_v21]
|
|
paste.app_factory = nova.api.openstack.compute:APIRouterV21.factory
|
|
|
|
[app:osapi_compute_app_v3]
|
|
paste.app_factory = nova.api.openstack.compute:APIRouterV3.factory
|
|
|
|
[pipeline:oscomputeversions]
|
|
pipeline = faultwrap oscomputeversionapp
|
|
|
|
[app:oscomputeversionapp]
|
|
paste.app_factory = nova.api.openstack.compute.versions:Versions.factory
|
|
|
|
##########
|
|
# Shared #
|
|
##########
|
|
|
|
[filter:keystonecontext]
|
|
paste.filter_factory = nova.api.auth:NovaKeystoneContext.factory
|
|
|
|
[filter:authtoken]
|
|
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
|