Use oslo.middleware

Remove outdated code and replace its usages by usages of oslo.middleware
library

Sync latest request_id middleware from oslo-incubator(only to allow
grenade jobs pass)

4ffc4c8 Add middleware.request_id shim for Kilo
4504e4f Remove middleware

Co-Authored-By: Abhishek Chanda <abhishek@cloudscaling.com>
Co-Authored-By: Davanum Srinivas <dims@linux.vnet.ibm.com>

Change-Id: I89ef3df1b8d3b2c6e391d04e89e35f2ee974a3cc
This commit is contained in:
Eugeniya Kudryashova
2014-10-24 15:21:11 +03:00
committed by Davanum Srinivas
parent 47468651bd
commit 4e63a3b34d
7 changed files with 10 additions and 82 deletions

View File

@@ -81,7 +81,7 @@ noauth = 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 = nova.openstack.common.middleware.request_id:RequestIdMiddleware.factory
paste.filter_factory = oslo.middleware:RequestId.factory
[filter:compute_req_id]
paste.filter_factory = nova.api.compute_req_id:ComputeReqIdMiddleware.factory

View File

@@ -17,6 +17,7 @@ Common Auth Middleware.
"""
from oslo.config import cfg
from oslo.middleware import request_id
from oslo.serialization import jsonutils
import webob.dec
import webob.exc
@@ -25,7 +26,6 @@ from nova import context
from nova.i18n import _
from nova.i18n import _LW
from nova.openstack.common import log as logging
from nova.openstack.common.middleware import request_id
from nova import wsgi

View File

@@ -23,10 +23,10 @@ Responses for APIv3 are taken care of by the request_id middleware provided
in oslo.
"""
from oslo.middleware import base
import webob.dec
from nova.openstack.common import context
from nova.openstack.common.middleware import base
ENV_REQUEST_ID = 'openstack.request_id'

View File

@@ -1,56 +0,0 @@
# Copyright 2011 OpenStack Foundation.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""Base class(es) for WSGI Middleware."""
import webob.dec
class Middleware(object):
"""Base WSGI middleware wrapper.
These classes require an application to be initialized that will be called
next. By default the middleware will simply call its wrapped app, or you
can override __call__ to customize its behavior.
"""
@classmethod
def factory(cls, global_conf, **local_conf):
"""Factory method for paste.deploy."""
return cls
def __init__(self, application):
self.application = application
def process_request(self, req):
"""Called on each request.
If this returns None, the next application down the stack will be
executed. If it returns a response then that response will be returned
and execution will stop here.
"""
return None
def process_response(self, response):
"""Do whatever you'd like to the response."""
return response
@webob.dec.wsgify
def __call__(self, req):
response = self.process_request(req)
if response:
return response
response = req.get_response(self.application)
return self.process_response(response)

View File

@@ -1,6 +1,3 @@
# Copyright (c) 2013 NEC Corporation
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
@@ -13,16 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
"""Middleware that ensures request ID.
"""Compatibility shim for Kilo, while operators migrate to oslo.middleware."""
It ensures to assign request ID for each API request and set it to
request environment. The request ID is also added to API response.
"""
from oslo.middleware import request_id
import webob.dec
from nova.openstack.common import context
from nova.openstack.common.middleware import base
from nova.openstack.common import versionutils
@@ -30,15 +21,7 @@ ENV_REQUEST_ID = 'openstack.request_id'
HTTP_RESP_HEADER_REQUEST_ID = 'x-openstack-request-id'
@versionutils.deprecated(as_of=versionutils.deprecated.JUNO,
@versionutils.deprecated(as_of=versionutils.deprecated.KILO,
in_favor_of='oslo.middleware.RequestId')
class RequestIdMiddleware(base.Middleware):
@webob.dec.wsgify
def __call__(self, req):
req_id = context.generate_request_id()
req.environ[ENV_REQUEST_ID] = req_id
response = req.get_response(self.application)
if HTTP_RESP_HEADER_REQUEST_ID not in response.headers:
response.headers.add(HTTP_RESP_HEADER_REQUEST_ID, req_id)
return response
class RequestIdMiddleware(request_id.RequestId):
pass

View File

@@ -13,13 +13,13 @@
# under the License.
from oslo.config import cfg
from oslo.middleware import request_id
from oslo.serialization import jsonutils
import webob
import webob.exc
import nova.api.auth
from nova.i18n import _
from nova.openstack.common.middleware import request_id
from nova import test
CONF = cfg.CONF

View File

@@ -47,3 +47,4 @@ lockfile>=0.8
simplejson>=2.2.0
rfc3986>=0.2.0 # Apache-2.0
oslo.vmware>=0.6.0 # Apache-2.0
oslo.middleware>=0.1.0 # Apache-2.0