Set tenantName to 'admin' in get_admin_auth_token.

Sets the tenantName to 'admin' in get_admin_auth_token. This
is required because user-only roles are currently not supported.
Give that wsgi is hard coded to check for 'role:admin' this
seems to be a reasonable thing to do. In the future it would be nice
to add a custom admin_role setting in the config file so the
role wouldn't be hard coded to 'admin'.

Also removes unused version of get_admin_auth_token.

Fixes LP Bug #939015.

Change-Id: I545b458e31c8a44a5a69cad1e875f0fe02956246
Implement a Catalog SQL backend

This adds a catalog SQL backend.  Makes use of 3 tables: endpoint,
service and service_endpoint_association.  Services and endpoints are
joined via the association table.  New sqlalchemy models have been defined
in keystone/catalog/backends/sql.py and are imported during the initial
migration (v001).

Configuring the service catalog is possible with changes to
python-keystoneclient.  I will be proposing a merge for that and I'll
update this commit msg with a link to its review.  With those client
changes, admins can now create and delete endpoints that are associated
with existing services. Existing service commands on the client-side work
as expected against this new backend.  This driver's get_catalog method
properly translates existing services, endpoints and relatoins into something
consumable by keystone non-admin users / clients.

Update: Some cleanup as per bcwaldon's suggestions

Update: Match functionality of existing catalog backend by returning
        IDs instead of sql objects for list_services() and list_endpoints()

Update: pep8 fixes

Update (1/2): Remove legacy OS-KSADM stuff

Update (2/2): Remove ServiceEndpointAssociation table/model
              in favor of a FK, endpoint.service_id -> service.id

Resolves bug 928053

Change-Id: Icc11889920744c36255f06356744cb247d79f4aa
Merge "Implement a Catalog SQL backend"
Add Vary header (bug 928057)

Change-Id: I0db0d64725824fb27cb1f9418203d962f82b00ab
Provide request to Middleware.process_response()

It appears that no middleware has taken advantage of
the builtin process_response(response) convention,
because a reference to the original request is
typically necessary to build an appropriate response.

Change-Id: If032261974eb1d756abdbd5b18892091978e2a07
renaming pip-requires-test to test-requires

 * (per request from jeblair)
 * version of python-ldap match between
   test and requires
 * pinned to 2.3.13 to let tests work in macosx
 * separating dependencies between deps and test
 * removed python-keystoneclient from install_requires
   for now. (there is no python-keystoneclient in PyPI)
   Real solution coming.

Change-Id: I89e50d6747fb57dee7badb17bc1231d3619e3ef7
Align tox jobs with project standards.

Change-Id: I215773d0d1b2f5763efcf96b3b84a291df856ad0
Handle KeyError in _get_admin_auth_token.

Updates the _get_admin_auth_token so that it more gracefully
handles KeyError's.
Also adds a conn.close to the _get_admin_auth_token method.

Fixes LP Bug #942247.

Change-Id: I2826f1b02bc7fd46c02ab3d15d88f76b9a8457f0
LDAP member defaults

sets the default attributes required for Tenants as well as
other classes that will use the groupOfNames  object class in the future

Change-Id: I77d0e1bdb46e64105d12e0565dd1112d8e6c3f17
GET /v2.0 (bug 930321)

Change-Id: Ide2a6073a0a54e017d1fcb8d9065ec6f348e07cd
fix pep8

First off, I don't know how this got in as it is an obvious pep8
violation.

Secondly, it is your job as reviewers to catch this sort of stuff,
obviously this was incorrect. -shakes fingers at you-

Change-Id: I41d4bf6a18721338240c14e63c8230f3827f51f4
Unpythonic code in redux in auth_token.py

Fixed bug #932578

Fixes code which are not pythonic and not pep8 standard.

Change-Id: Idd8ba4a75ad0a854a60238aec2d8d32ff2ee9c53
Merge "Unpythonic code in redux in auth_token.py"
Merge "Provide request to Middleware.process_response()"
Merge "GET /v2.0 (bug 930321)"
Use constant time string comparisons for auth.

Fix bug 942644.

Use constant time string comparisons when doing authentication to help
guard against timing attacks.

Change-Id: I5fa5c8f07e57201e129903f71b3dea19071cac5e
Merge "Align tox jobs with project standards."
Merge "Use constant time string comparisons for auth."
Fixes doc typo s/SERVIVE/SERVICE/

Fixes bug 944115

Change-Id: I3d896d3384fc9bc69856a3c5e53b62f1a875e82f
Align with project configs.

* docs in doc/ rather than docs/
* write out changelog from git
* freeze requirements file

Change-Id: If28d5414f7b2747fd6835546c45e1acfac8a3563