f1d9c54ef0
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
|
||
---|---|---|
config-generator | ||
doc | ||
etc | ||
examples/pki | ||
httpd | ||
keystone | ||
rally-jobs | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
babel.cfg | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tests-py3-blacklist.txt | ||
tox.ini |
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:
The API specification and documentation are available at:
The canonical client library is available at:
https://git.openstack.org/cgit/openstack/python-keystoneclient
Documentation for cloud administrators is available at:
The source of documentation for cloud administrators is available at:
Information about our team meeting is available at:
Bugs and feature requests are tracked on Launchpad at:
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):
For information on contributing to Keystone, see
CONTRIBUTING.rst
.