From 0f3fb0a1ba14072863d7b725d0b1a89d9566ac5a Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Fri, 1 Mar 2013 10:24:00 -0800 Subject: [PATCH] Switch to using memorycache from oslo. Change-Id: I11ee70b36f06bc4a45b5ff207e53a331891a6bfa --- nova/api/ec2/__init__.py | 2 +- nova/api/metadata/handler.py | 2 +- .../contrib/extended_availability_zone.py | 2 +- nova/common/memorycache.py | 90 ------------------- nova/consoleauth/manager.py | 2 +- nova/servicegroup/drivers/mc.py | 4 +- 6 files changed, 6 insertions(+), 96 deletions(-) delete mode 100644 nova/common/memorycache.py diff --git a/nova/api/ec2/__init__.py b/nova/api/ec2/__init__.py index 397190faeb4e..e094cf0b35a4 100644 --- a/nova/api/ec2/__init__.py +++ b/nova/api/ec2/__init__.py @@ -32,12 +32,12 @@ from nova.api.ec2 import apirequest from nova.api.ec2 import ec2utils from nova.api.ec2 import faults from nova.api import validator -from nova.common import memorycache from nova import context from nova import exception from nova.openstack.common import importutils from nova.openstack.common import jsonutils from nova.openstack.common import log as logging +from nova.openstack.common import memorycache from nova.openstack.common import timeutils from nova import utils from nova import wsgi diff --git a/nova/api/metadata/handler.py b/nova/api/metadata/handler.py index 7cccbc324e0f..bbaeba524949 100644 --- a/nova/api/metadata/handler.py +++ b/nova/api/metadata/handler.py @@ -26,10 +26,10 @@ import webob.dec import webob.exc from nova.api.metadata import base -from nova.common import memorycache from nova import conductor from nova import exception from nova.openstack.common import log as logging +from nova.openstack.common import memorycache from nova import wsgi CACHE_EXPIRATION = 15 # in seconds diff --git a/nova/api/openstack/compute/contrib/extended_availability_zone.py b/nova/api/openstack/compute/contrib/extended_availability_zone.py index 734ddf7c8f73..af557219f793 100644 --- a/nova/api/openstack/compute/contrib/extended_availability_zone.py +++ b/nova/api/openstack/compute/contrib/extended_availability_zone.py @@ -21,8 +21,8 @@ from nova.api.openstack import extensions from nova.api.openstack import wsgi from nova.api.openstack import xmlutil from nova import availability_zones -from nova.common import memorycache from nova.openstack.common import log as logging +from nova.openstack.common import memorycache LOG = logging.getLogger(__name__) # NOTE(vish): azs don't change that often, so cache them for an hour to diff --git a/nova/common/memorycache.py b/nova/common/memorycache.py deleted file mode 100644 index c124784d5c05..000000000000 --- a/nova/common/memorycache.py +++ /dev/null @@ -1,90 +0,0 @@ -# vim: tabstop=4 shiftwidth=4 softtabstop=4 - -# Copyright 2010 United States Government as represented by the -# Administrator of the National Aeronautics and Space Administration. -# 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. - -"""Super simple fake memcache client.""" - -from oslo.config import cfg - -from nova.openstack.common import timeutils - -memcache_opts = [ - cfg.ListOpt('memcached_servers', - default=None, - help='Memcached servers or None for in process cache.'), -] - -CONF = cfg.CONF -CONF.register_opts(memcache_opts) - - -def get_client(): - client_cls = Client - - if CONF.memcached_servers: - import memcache - client_cls = memcache.Client - - return client_cls(CONF.memcached_servers, debug=0) - - -class Client(object): - """Replicates a tiny subset of memcached client interface.""" - - def __init__(self, *args, **kwargs): - """Ignores the passed in args.""" - self.cache = {} - - def get(self, key): - """Retrieves the value for a key or None. - - this expunges expired keys during each get""" - - for k in self.cache.keys(): - (timeout, _value) = self.cache[k] - if timeout and timeutils.utcnow_ts() >= timeout: - del self.cache[k] - - return self.cache.get(key, (0, None))[1] - - def set(self, key, value, time=0, min_compress_len=0): - """Sets the value for a key.""" - timeout = 0 - if time != 0: - timeout = timeutils.utcnow_ts() + time - self.cache[key] = (timeout, value) - return True - - def add(self, key, value, time=0, min_compress_len=0): - """Sets the value for a key if it doesn't exist.""" - if self.get(key) is not None: - return False - return self.set(key, value, time, min_compress_len) - - def incr(self, key, delta=1): - """Increments the value for a key.""" - value = self.get(key) - if value is None: - return None - new_value = int(value) + delta - self.cache[key] = (self.cache[key][0], str(new_value)) - return new_value - - def delete(self, key, time=0): - """Deletes the value associated with a key.""" - if key in self.cache: - del self.cache[key] diff --git a/nova/consoleauth/manager.py b/nova/consoleauth/manager.py index f346444d86ff..fe5bfd8613ee 100644 --- a/nova/consoleauth/manager.py +++ b/nova/consoleauth/manager.py @@ -22,12 +22,12 @@ import time from oslo.config import cfg -from nova.common import memorycache from nova.compute import rpcapi as compute_rpcapi from nova.conductor import api as conductor_api from nova import manager from nova.openstack.common import jsonutils from nova.openstack.common import log as logging +from nova.openstack.common import memorycache LOG = logging.getLogger(__name__) diff --git a/nova/servicegroup/drivers/mc.py b/nova/servicegroup/drivers/mc.py index 2857185d9325..a895fb4bb7c8 100644 --- a/nova/servicegroup/drivers/mc.py +++ b/nova/servicegroup/drivers/mc.py @@ -20,10 +20,10 @@ from oslo.config import cfg -from nova.common import memorycache from nova import conductor from nova import context from nova.openstack.common import log as logging +from nova.openstack.common import memorycache from nova.openstack.common import timeutils from nova.servicegroup import api from nova import utils @@ -31,7 +31,7 @@ from nova import utils CONF = cfg.CONF CONF.import_opt('service_down_time', 'nova.service') -CONF.import_opt('memcached_servers', 'nova.common.memorycache') +CONF.import_opt('memcached_servers', 'nova.openstack.common.memorycache') LOG = logging.getLogger(__name__)