OpenStack Identity (Keystone)
Go to file
David Stanek f1d9c54ef0 Distributed cache namespace to invalidate regions
dogpile.cache's region invalidation is not designed to work across
processes. This patch enables distributed invalidation of keys in a
region.

Instead of using a static cache key, we use the original cache key
and append a dynamic value to it. This value is looked up in
memcached using the region name as a key. So anytime the value of
the region key changes the cache keys in that region are
effectively invalidated.

Conflicts:
	keystone/assignment/core.py: imports were fixed
	keystone/catalog/core.py: imports were fixed
	keystone/common/cache/core.py:
                dogpile.cache doesn't have invalidation strategies
                in 0.5.8. Because of that, call to
                region.invalidate was redefined.
	keystone/identity/core.py:
                there is no per-region cache in id_mapping_api
                in Mitaka
	keystone/revoke/core.py:
                there is no per-region cache in revocations
                in Mitaka
	keystone/server/backends.py:
                removed configuration of regions which were added
                only in Newton
	keystone/tests/unit/test_v3_assignment.py:
                conflict due to freezegun being used in Newton and
                not used in Mitaka
	keystone/token/provider.py:
                there is no per-region cache in token providers
                in Mitaka

Closes-Bug: #1590779
Change-Id: Ib80d41d43ef815b37282d72ad68e7aa8e1ff354e
(cherry picked from commit 42eda48c78)
2016-09-14 19:54:54 +00:00
config-generator switch to oslo.cache 2015-10-15 11:10:34 -04:00
doc Merge "Document running in uwsgi proxied by apache" 2016-03-16 19:43:46 +00:00
etc Updating sample configuration file 2016-03-15 17:47:35 +00:00
examples/pki Correct bashate issues in gen_pki.sh 2015-10-20 10:40:10 -05:00
httpd Document running in uwsgi proxied by apache 2016-03-15 15:04:13 -05:00
keystone Distributed cache namespace to invalidate regions 2016-09-14 19:54:54 +00:00
rally-jobs [rally] remove deprecated arg 2015-10-29 16:34:58 +02:00
releasenotes /services?name=<name> API fails when using list_limit 2016-06-22 11:16:02 -07:00
tools Stop using nose as a Python3 test runner 2016-02-11 06:40:24 +00:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:27:58 +00:00
.gitignore include sample config file in docs 2016-02-08 16:40:58 -05:00
.gitreview Update .gitreview for stable/mitaka 2016-03-16 16:40:37 -04:00
.mailmap update mailmap with gyee's new email 2015-11-03 16:12:01 -08:00
.testr.conf Stop using oslotest.BaseTestCase 2016-03-01 21:44:20 +00:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2015-05-16 14:55:07 +00:00
HACKING.rst Use oslo.log instead of incubator 2015-02-14 05:34:52 +00:00
LICENSE Added Apache 2.0 License information. 2012-02-15 17:48:33 -08:00
MANIFEST.in Update MANIFEST.in 2015-06-28 11:01:35 -05:00
README.rst Replace github reference by git.openstack.org and change a doc link 2015-05-07 10:08:10 +08:00
babel.cfg setting up babel for i18n work 2012-06-21 18:03:09 -07:00
requirements.txt Updated from global requirements 2016-06-10 23:14:50 +00:00
setup.cfg register the config generator default hook with the right name 2016-03-11 15:49:37 -05:00
setup.py Updated from global requirements 2015-09-17 12:12:39 +00:00
test-requirements.txt Updated from global requirements 2016-04-29 23:25:52 +00:00
tests-py3-blacklist.txt IPV6 test unblacklist 2016-03-02 18:10:22 +00:00
tox.ini Fix post jobs 2016-05-24 21:20:44 +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://docs.openstack.org/developer/keystone/

The API specification and documentation are available at:

http://specs.openstack.org/openstack/keystone-specs/

The canonical client library is available at:

https://git.openstack.org/cgit/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://git.openstack.org/cgit/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:

http://specs.openstack.org/openstack/keystone-specs/#identity-program-specifications

Contributors are encouraged to join IRC (#openstack-keystone on freenode):

https://wiki.openstack.org/wiki/IRC

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