From c891e7ee24ca0142249e1f4d292e00cd3d2355b1 Mon Sep 17 00:00:00 2001
From: Mark McLoughlin <markmc@redhat.com>
Date: Tue, 23 Jul 2013 17:37:53 +0100
Subject: [PATCH] Remove use of openstack.common.local

This means we no longer set the request context for the current thread
so that it can be used in logging.

We do need to add this back later, but it might be in the form of a
get_current_context() method.

Change-Id: I3f08a85e2019affddec829e2ea008b5c10707660
---
 openstack-common.conf                    |  1 -
 oslo/messaging/_drivers/amqp.py          |  5 +--
 oslo/messaging/_drivers/common.py        |  4 +-
 oslo/messaging/openstack/common/local.py | 48 ------------------------
 4 files changed, 4 insertions(+), 54 deletions(-)
 delete mode 100644 oslo/messaging/openstack/common/local.py

diff --git a/openstack-common.conf b/openstack-common.conf
index b7c377bbc..729779c66 100644
--- a/openstack-common.conf
+++ b/openstack-common.conf
@@ -6,7 +6,6 @@ module=fixture.moxstubout
 module=gettextutils
 module=importutils
 module=jsonutils
-module=local
 module=network_utils
 module=sslutils
 module=timeutils
diff --git a/oslo/messaging/_drivers/amqp.py b/oslo/messaging/_drivers/amqp.py
index 258b1f4c1..93dc1d94d 100644
--- a/oslo/messaging/_drivers/amqp.py
+++ b/oslo/messaging/_drivers/amqp.py
@@ -40,7 +40,6 @@ from oslo.messaging._drivers import common as rpc_common
 from oslo.messaging._drivers import pool
 from oslo.messaging.openstack.common import excutils
 from oslo.messaging.openstack.common.gettextutils import _  # noqa
-from oslo.messaging.openstack.common import local
 
 
 amqp_opts = [
@@ -399,8 +398,8 @@ class ProxyCallback(_ThreadPoolWithWait):
         """
         # It is important to clear the context here, because at this point
         # the previous context is stored in local.store.context
-        if hasattr(local.store, 'context'):
-            del local.store.context
+        #if hasattr(local.store, 'context'):
+        #    del local.store.context
         rpc_common._safe_log(LOG.debug, _('received %s'), message_data)
         self.msg_id_cache.check_duplicate_message(message_data)
         ctxt = unpack_context(self.conf, message_data)
diff --git a/oslo/messaging/_drivers/common.py b/oslo/messaging/_drivers/common.py
index bfe9ab1eb..6368c8d18 100644
--- a/oslo/messaging/_drivers/common.py
+++ b/oslo/messaging/_drivers/common.py
@@ -28,7 +28,6 @@ import six
 from oslo.messaging.openstack.common.gettextutils import _  # noqa
 from oslo.messaging.openstack.common import importutils
 from oslo.messaging.openstack.common import jsonutils
-from oslo.messaging.openstack.common import local
 
 
 CONF = cfg.CONF
@@ -380,7 +379,8 @@ class CommonRpcContext(object):
         return self.from_dict(self.to_dict())
 
     def update_store(self):
-        local.store.context = self
+        #local.store.context = self
+        pass
 
     def elevated(self, read_deleted=None, overwrite=False):
         """Return a version of this context with admin flag set."""
diff --git a/oslo/messaging/openstack/common/local.py b/oslo/messaging/openstack/common/local.py
deleted file mode 100644
index f1bfc824b..000000000
--- a/oslo/messaging/openstack/common/local.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# 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.
-
-"""Greenthread local storage of variables using weak references"""
-
-import weakref
-
-from eventlet import corolocal
-
-
-class WeakLocal(corolocal.local):
-    def __getattribute__(self, attr):
-        rval = corolocal.local.__getattribute__(self, 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 corolocal.local.__setattr__(self, 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 = corolocal.local