diff options
| author | Wu Wenxiang <wu.wenxiang@99cloud.net> | 2013-06-09 12:17:34 +0800 |
|---|---|---|
| committer | Wu Wenxiang <wu.wenxiang@99cloud.net> | 2013-06-14 08:07:41 +0800 |
| commit | b2da4ea131da5e801c860194845acecb4ef6d808 (patch) | |
| tree | 48fab87c8f2fd7431f34d447e71692f944a9a65f | |
| parent | 6111bc9dfe374a0dae7839a325246df8abfb5aa3 (diff) | |
| download | keystone-b2da4ea131da5e801c860194845acecb4ef6d808.tar.gz keystone-b2da4ea131da5e801c860194845acecb4ef6d808.tar.xz keystone-b2da4ea131da5e801c860194845acecb4ef6d808.zip | |
Using sql as default driver for tokens
kvs driver for tokens is not a production quality storage method.
The shortcomings of using kvs as storage driver for tokens:
1. It requires load balancer to persist connections to a single
keystone server by token.
2. The memory will grow out of control until token_flush is run.
3. At some point kvs lookups get very slow because there are millions
of keys in the dict.
4. Process restart invalidates all tokens.
Fixes: bug #1188370
Change-Id: Ic726e12d798b843412158a7b92f5e3e3a654811f
| -rw-r--r-- | etc/keystone.conf.sample | 2 | ||||
| -rw-r--r-- | keystone/common/config.py | 2 | ||||
| -rw-r--r-- | tests/test_overrides.conf | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/etc/keystone.conf.sample b/etc/keystone.conf.sample index f65eab5b..08154124 100644 --- a/etc/keystone.conf.sample +++ b/etc/keystone.conf.sample @@ -119,7 +119,7 @@ # template_file = default_catalog.templates [token] -# driver = keystone.token.backends.kvs.Token +# driver = keystone.token.backends.sql.Token # Amount of time a token should remain valid (in seconds) # expiration = 86400 diff --git a/keystone/common/config.py b/keystone/common/config.py index 5ff0f4bb..51fdab72 100644 --- a/keystone/common/config.py +++ b/keystone/common/config.py @@ -273,7 +273,7 @@ def configure(): group='policy', default='keystone.policy.backends.sql.Policy') register_str( - 'driver', group='token', default='keystone.token.backends.kvs.Token') + 'driver', group='token', default='keystone.token.backends.sql.Token') register_str( 'driver', group='trust', default='keystone.trust.backends.sql.Trust') register_str( diff --git a/tests/test_overrides.conf b/tests/test_overrides.conf index 0e41fd32..ef7524b7 100644 --- a/tests/test_overrides.conf +++ b/tests/test_overrides.conf @@ -11,6 +11,9 @@ template_file = default_catalog.templates [trust] driver = keystone.trust.backends.kvs.Trust +[token] +driver = keystone.token.backends.kvs.Token + [signing] certfile = ../examples/pki/certs/signing_cert.pem keyfile = ../examples/pki/private/signing_key.pem |
