OpenStack Identity (Keystone)
Go to file
Morgan Fainberg c22f2edeb7 Limit calls to memcache backend as user token index increases in size
This eliminates the need to do a get on each token in the user's index
on token issuance. This change will change the maximum number of tokens
that can be outstanding for a given user. This change is two-fold, first
instead of using JSON to store the token IDs, the python list structure
is being stored in memcached; second the expiry for the token is also
stored in the list. The net result is that fewer tokens can be stored
in the user's token index list due to an increase in data being stored
per token in the index page.

The new logic will attempt to upgrade the old json-style lists to
the new format of [(token_id, expiry), ...] stored as a native
python object in the memcache backend. This conversion will keep
any outstanding tokens in the list from (<time_of_conversion> +
<configured expiration of tokens>). This is done to ensure that
tokens can still be invalidated by operations that invalidate
tokens based upon user/project/trust/etc changes without causing
potential lockups in keystone trying to retrieve all of the
actual token expiration times from memcache.

Closes-bug: #1251123
Change-Id: Ida39b4699ed6c568609a5121573fc3be5c4ab2f4
2014-02-11 15:01:09 -08:00
bin Disable lazy gettext 2013-10-16 09:21:55 -05:00
contrib Import eventlet patch from oslo. 2013-06-05 10:02:26 +10:00
doc Merge "Update man page version" 2013-09-26 08:23:32 +00:00
etc set user_update policy to admin_required 2013-10-10 10:40:33 -05:00
examples/pki Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
httpd Disable lazy gettext 2013-10-16 09:21:55 -05:00
keystone Limit calls to memcache backend as user token index increases in size 2014-02-11 15:01:09 -08:00
tools Enclose command args in with_venv.sh 2013-09-20 05:46:45 +08:00
.coveragerc Add tests dir to the coverage omit list 2013-09-30 16:07:03 -04:00
.gitignore Add support for API message localization 2013-08-14 18:09:01 -05:00
.gitreview Opening stable/havana 2013-10-17 17:02:12 +02:00
.mailmap Allow request headers access in app context. 2013-06-10 15:50:31 +02:00
CONTRIBUTING.rst Migrate to pbr. 2013-05-23 16:59:08 +02:00
HACKING.rst remove refs to keystone.common.logging 2013-08-19 11:27:26 -05:00
LICENSE Added Apache 2.0 License information. 2012-02-15 17:48:33 -08:00
MANIFEST.in Move 'tests' directory into 'keystone' package 2013-08-14 01:30:01 -03:00
README.rst Rewrite README.rst 2013-09-19 17:33:56 -05:00
babel.cfg setting up babel for i18n work 2012-06-21 18:03:09 -07:00
openstack-common.conf Merge "Sync log_handler module from Oslo" into stable/havana 2014-02-01 03:20:49 +00:00
requirements.txt Updated from global requirements 2013-12-11 18:49:52 +00:00
run_tests.sh Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
setup.cfg Bump stable/havana next version to 2013.2.2 2013-12-16 02:58:57 +01:00
setup.py Sync with global requirements 2013-09-30 17:03:58 -04:00
test-requirements.txt Merge "Remove netifaces requirement" into stable/havana 2014-02-01 05:39:50 +00:00
tox.ini Have tox use pip upgrade when installing 2013-12-15 17:06:29 +00:00

README.rst

OpenStack Keystone

Keystone provides authentication, authorization and service discovery mechanisms via HTTP primarily for use by projects in the OpenStack family. It is most commonly deployed as an HTTP interface to existing identity systems, such as LDAP.

Developer documentation, the source of which is in doc/source/, is published at:

http://keystone.openstack.org/

The API specification is available at:

https://github.com/openstack/identity-api

The API documentation is available at:

http://api.openstack.org/api-ref-identity.html

The canonical client library is available at:

https://github.com/openstack/python-keystoneclient

Documentation for cloud administrators is available at:

http://docs.openstack.org/

The source of documentation for cloud administrators is available at:

https://github.com/openstack/openstack-manuals

Information about our team meeting is available at:

https://wiki.openstack.org/wiki/Meetings/KeystoneMeeting

Bugs and feature requests are tracked on Launchpad at:

https://bugs.launchpad.net/keystone

Future design work is tracked at:

https://blueprints.launchpad.net/keystone

For information on contributing to Keystone, see CONTRIBUTING.rst.