diff --git a/heat/common/context.py b/heat/common/context.py index 112cd2d470..b716870dd9 100644 --- a/heat/common/context.py +++ b/heat/common/context.py @@ -29,7 +29,6 @@ from heat.common import policy from heat.common import wsgi from heat.db import api as db_api from heat.engine import clients -from heat.openstack.common import local LOG = logging.getLogger(__name__) @@ -105,8 +104,6 @@ class RequestContext(context.RequestContext): self.auth_token_info = auth_token_info self.auth_url = auth_url self.roles = roles or [] - if overwrite or not hasattr(local.store, 'context'): - self.update_store() self._session = None self._clients = None self.trust_id = trust_id @@ -119,9 +116,6 @@ class RequestContext(context.RequestContext): else: self.is_admin = is_admin - def update_store(self): - local.store.context = self - @property def session(self): if self._session is None: diff --git a/heat/common/custom_backend_auth.py b/heat/common/custom_backend_auth.py index 00409eed99..6a36963040 100644 --- a/heat/common/custom_backend_auth.py +++ b/heat/common/custom_backend_auth.py @@ -18,12 +18,11 @@ Middleware for authenticating against custom backends. """ -import logging - +from oslo_context import context +from oslo_log import log as logging import webob.exc from heat.common.i18n import _ -from heat.openstack.common import local from heat.rpc import client as rpc_client LOG = logging.getLogger(__name__) @@ -43,8 +42,8 @@ class AuthProtocol(object): we can't authenticate. """ LOG.debug('Authenticating user token') - context = local.store.context - authenticated = self.rpc_client.authenticated_to_backend(context) + ctx = context.get_current() + authenticated = self.rpc_client.authenticated_to_backend(ctx) if authenticated: return self.app(env, start_response) else: diff --git a/heat/openstack/common/local.py b/heat/openstack/common/local.py deleted file mode 100644 index 0819d5b97c..0000000000 --- a/heat/openstack/common/local.py +++ /dev/null @@ -1,45 +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. - -"""Local storage of variables using weak references""" - -import threading -import weakref - - -class WeakLocal(threading.local): - def __getattribute__(self, attr): - rval = super(WeakLocal, self).__getattribute__(attr) - if rval: - # NOTE(mikal): this bit is confusing. What is stored is a weak - # reference, not the value itself. We therefore need to lookup - # the weak reference and return the inner value here. - rval = rval() - return rval - - def __setattr__(self, attr, value): - value = weakref.ref(value) - return super(WeakLocal, self).__setattr__(attr, value) - - -# NOTE(mikal): the name "store" should be deprecated in the future -store = WeakLocal() - -# A "weak" store uses weak references and allows an object to fall out of scope -# when it falls out of scope in the code that uses the thread local storage. A -# "strong" store will hold a reference to the object so that it never falls out -# of scope. -weak_store = WeakLocal() -strong_store = threading.local() diff --git a/openstack-common.conf b/openstack-common.conf index 04dfe322fa..194482671d 100644 --- a/openstack-common.conf +++ b/openstack-common.conf @@ -3,7 +3,6 @@ # The list of modules to copy from oslo-incubator module=crypto module=eventlet_backdoor -module=local module=loopingcall module=policy module=service