UUID vs PKI docs

Change-Id: I698516e212e3a1f470a8131aca207e96925b3a40
Debug env for tox

Running a test with pdb was difficult because testr captures
output and causes pdb prompt to quit.

Tips for how to run with debug are provided here:
 https://wiki.openstack.org/wiki/Testr#Debugging_.28pdb.29_Tests

This change puts these commands into a debug env in tox.ini so
you can do a command like

 tox -e debug test_v3_trust_token_get_token_fails

or, for more granularity:
 tox -e debug keystone.tests.test_sql_migrate_extensions.EndpointFilterExtension
 tox -e debug keystone.tests.test_sql_migrate_extensions.EndpointFilterExtension.test_downgrade

and when it hits your breakpoint you'll get the debug prompt.

Change-Id: I2b5dc81f4652dc89ecbcc7c785245a81cf77a1ca
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
Fix errors for create_endpoint api in version2

1. Create an endpoint without 'service_id' should return a 400 Bad Request
with appropriate message instead of 500 Internal Server Error.
2. Empty urls should be discarded.

Change-Id: I535467ec35fe2ae738ecae0a4f20d19ff4f001ec
Closes-Bug: #1250765
Sync db.sqlalchemy from oslo-incubator

This updates db.sqlalchemy from oslo-incubator from hash
6f3e5a57aea5402031c4cc8863e0e35f7f222794

 $ python update.py --nodeps --base keystone \
    --dest-dir ../keystone --modules db.sqlalchemy

Change-Id: I2c8c104b6116f3f0cf0f17df196924ab7c20e072
Merge "Debug env for tox"
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
Merge "Sync db.sqlalchemy from oslo-incubator"
Merge "Fix issues handling trust tokens via ec2tokens API"
Merge "UUID vs PKI docs"
Merge "Base Implementation of KVS Dogpile Refactor"