diff options
| author | Yogeshwar Srikrishnan <yoga80@yahoo.com> | 2011-07-26 10:25:52 -0500 |
|---|---|---|
| committer | James E. Blair <james.blair@rackspace.com> | 2011-07-28 09:55:30 -0700 |
| commit | eced013df6b56d7c216b600769ee67b75fc4f0b7 (patch) | |
| tree | 48f54c976a4efdc06843849a4192fc7d046907cd | |
| parent | 17743367b6710babb2a0596a6002e7f415624bc0 (diff) | |
Changes to make cache time configurable.
| -rwxr-xr-x | etc/keystone.conf | 2 | ||||
| -rwxr-xr-x | keystone/backends/memcache/__init__.py | 4 | ||||
| -rwxr-xr-x | keystone/backends/memcache/api/token.py | 13 |
3 files changed, 8 insertions, 11 deletions
diff --git a/etc/keystone.conf b/etc/keystone.conf index 3439543f..1f0ef59b 100755 --- a/etc/keystone.conf +++ b/etc/keystone.conf @@ -74,6 +74,8 @@ backend_entities = ['Tenant', 'User', 'Group'] [keystone.backends.memcache] memcache_hosts = 127.0.0.1:11211 backend_entities = ['Token'] +#Time in seconds +cache_time = 86400 [pipeline:admin] pipeline = diff --git a/keystone/backends/memcache/__init__.py b/keystone/backends/memcache/__init__.py index 9b0e340f..37140256 100755 --- a/keystone/backends/memcache/__init__.py +++ b/keystone/backends/memcache/__init__.py @@ -31,7 +31,7 @@ import memcache MODEL_PREFIX = 'keystone.backends.memcache.models.' API_PREFIX = 'keystone.backends.memcache.api.' memcache_server = None - +cache_time = 86400 def configure_backend(options): hosts = options['memcache_hosts'] @@ -39,6 +39,8 @@ def configure_backend(options): if not memcache_server: memcache_server = Memcache_Server(hosts) register_models(options) + global cache_time + cache_time = config.get_option(options, 'cache_time', type='int', default=86400) class Memcache_Server(): diff --git a/keystone/backends/memcache/api/token.py b/keystone/backends/memcache/api/token.py index d70faaee..80d81530 100755 --- a/keystone/backends/memcache/api/token.py +++ b/keystone/backends/memcache/api/token.py @@ -15,25 +15,19 @@ # License for the specific language governing permissions and limitations # under the License. -from keystone.backends.memcache import memcache_server, models +from keystone.backends.memcache import memcache_server, models, cache_time from keystone.backends.api import BaseTokenAPI class TokenAPI(BaseTokenAPI): def create(self, token): - if token.tenant_id is None: - token_tenant_key = token.id - else: - token_tenant_key = token.id + "::" + token.tenant_id - if token.tenant_id != None: tenant_user_key = token.tenant_id + "::" + token.user_id else: tenant_user_key = token.user_id #Setting them for a day. - memcache_server.set(token.id, token, 86400) - memcache_server.set(token_tenant_key, token, 86400) - memcache_server.set(tenant_user_key, token, 86400) + memcache_server.set(token.id, token, cache_time) + memcache_server.set(tenant_user_key, token, cache_time) def get(self, id, session=None): return memcache_server.get(id) @@ -44,7 +38,6 @@ class TokenAPI(BaseTokenAPI): memcache_server.delete(id) if token.tenant_id != None: - memcache_server.delete(token.id + "::" + token.tenant_id) memcache_server.delete(token.tenant_id + "::" + token.user_id) else: memcache_server.delete(token.id) |
