UUID vs PKI docs

Change-Id: I698516e212e3a1f470a8131aca207e96925b3a40
Remove deprecated code

Essex and keystoneclient 0.1.1 have deprecated and is no
longer supported by the Openstack project so remove
the keystoneclient tests for them.

Change-Id: Ia083ecbfa8e488fd33eb3e8c47fc532196de7ca8
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Add ABCMeta metaclass to token provider

Use the abc module for managing abstract base classes in the driver
layer.

bp: abstract-base-class-drivers
Change-Id: I4af9752a82c9be5ef95b41593e430de36d25c569
Fix typo in identity:list_role_assignments policy

Change-Id: I3c154b8e16f6e45a13a5045062e68b4d9f475211
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Fix issues handling trust tokens via ec2tokens API

Trust scoped tokens are handled incorectly when making requests
via the ec2tokens API, meaning that the restrictions enforced
by trust-scoped tokens are not respected when obtaining a token
via ec2token signature validation.

Storing the trust_id in the blob associated with the ec2 keypair,
and passing that id in the metadata when requesting a v2 token
solves the issue.

Change-Id: I52566384d7813ef0e2f20fb94a5076386457ff02
Closes-Bug: #1242597
Base Implementation of KVS Dogpile Refactor

This changeset implements a KVS interface that makes use of
dogpile's backends.  Included is an in-memory database (primarily
to be used for testing) that isolates data from modification via
liberal use of copy.deepcopy.  The memcached backend is a manager
pivot to allow the use of the various dogpile.cache memcache
backends while maintaining a simplified interface.

The KVS system implements a Distributed-Capable locking system that
hooks into the dogpile.cache backend mutexes. Locking can be
toggled at configuration time for a given KeyValueStore
instantiation.

The original kvs implementation has been moved to
keystone.common.kvs.legacy.  For compatibility all elements of the
old keystone.common.kvs namespace have been made available at
keystone.common.kvs.  The legacy kvs implementation has been marked
for deprecation after the release of ICEHOUSE.

DocImpact

bp: dogpile-kvs-backends
Change-Id: I8af1adfcb181f9118a1f21aada2e000c6cc0c201
Add assertSetEqual to base test class

Implement and add assertSetEqual to the base test class so that the
functionaly of set-specific comparison can be used in python 2.6.
Once python 2.6 support is deprecated completly, this new method
can be deleted and the tests will fall back onto the upstream version
of this test.  This is a copy of the method implemented on the TestCase
super class in python 2.7 with minor changes to conform to OpenStack
Hacking.

bp: dogpile-kvs-backends
Change-Id: I76a7d9a10b30ed6b0ac0aef4e5dd522cafb321e2
Create user returns 400 without a password

If it is intended to create a new user without password (is optional)
keystone user-create --name <name>
keystone fails returning error 400.

The change consist in checking if the request has password: None
don't make the password hash

Co-Authored-By: huangtianhua<huangtianhua@huawei.com>
Closes-Bug: #1245342
Change-Id: If6f5789dcec0610a237f286d0d17ad4b100ef5f3
Fixes documentation building

 - Adds the ability to build docs using tox
 - Fixes autodoc generation

A Sphinx extension is introduced in the commit to facilitate building
the API documentation. This extension should be removed when
bug 1260495 is fixed.

Change-Id: Ibf5e5403cb7d3e67947c87b2828b64a56a11fc30
Merge "Fix issues handling trust tokens via ec2tokens API"
Merge "UUID vs PKI docs"
Merge "Base Implementation of KVS Dogpile Refactor"
Merge "Add ABCMeta metaclass to token provider"
Merge "Add assertSetEqual to base test class"
Refactor setup_logging

This change just cleans up the setup_logging function. It was
defined in keystone.common.config and then also exported from
keystone.config. Also, it had extra parameters that were unused.

This takes care of a NOTE (which probably should have been a
TODO) in the code.

Change-Id: I1a46c8974cbd68a5bf708d253adfadc1fdb76dcd
Merge "Fixes documentation building"
Merge "Create user returns 400 without a password"
Merge "Remove deprecated code"
Cleanup backend loading

Backend creation was happening at import time. This changes the
code so that backend creation time is controlled by calling a
function.

This also allows sharing the backend creation code between the
server and the tests.

Change-Id: Ib817aa341de510a46faa8ed0bc24ef9268fa944b
Merge "Refactor setup_logging"