Update middleware that was moved to keystonemiddleware

S3Token middleware has been moved (and slated for removal) in the
Juno Release. This Middleware has been removed from Keystone.

Keystone now uses the middleware located in keystonemiddleware for
providing the code for ec2_token middleware. The middleware class
in Keystone has been deprecated and is slated for removal in the
L release.

Change-Id: Iecda3400c0450bbeed42093dc916825d89b2c3fe
bp: split-middleware
auth tests should not require admin token

Currently all the v3 auth tests are calling self.post(), which
eventually going through keystone.tests.test_v3.v3_request().
The v3_request method always requires an auth token by default.
But since V3 auth token API is an unprotected API, there's no need
for an auth token in order to make the request.

Change-Id: If65305346c0e5e114fd03e4ba089aa2e3694a8b2
Closes-bug: #1317261
Add the new oslo.i18n as a dependency for Python 3

bp python3

Change-Id: I688e2adefa30a5775cae5d308e7ec61572220fda
Adding support for ldap connection pooling.

Using ldappool library to establish connection pooling.
Connection pooling is disabled by default.
Pooling specific configuration parameters are added in ldap section.
Added pool test using existing FakeLdap as connector class.
Added pool specific ldap live test. These tests are executed similar to
existing ldap live test.
Addressed async search_s and result3 API issues mentioned in review.
Added separate connection pool for end user auth bind done by keystone
identity ldap driver logic to avoid saturation of pool by these kind of
binds and limiting pool effectiveness for other ldap operations.
Rebased with lastest master and addressed doc comments.

Change-Id: If516a0d308a7f3be88df5583a30739a935076173
Closes-Bug: #1320997
bp: ldap-connection-pooling
DocImpact
Sqlite files excluded from the repo

In order to avoid submission of sql database files by mistake, it was
added the pattern of those files into the .gitignore file.

Change-Id: Iaec6b15c8d879c42883de138fa70a2004ca9b2b5
Closes-Bug: #1347976
Disable a domain will revoke tokens under the same domain

Disable a domain revokes project scoped tokens
as well as revokes tokens that are under the same domain.

Change-Id: I43f7624ef40b18157611d4c15f5b3c65005bd8fb
Partial-Bug: #1294737
cache the catalog

bp expand-keystone-caching

Change-Id: I448a7dc66210abbfa8568567fe5acd88a3b2771a
Merge "cache the catalog"
Merge "Disable a domain will revoke tokens under the same domain"
Merge "Add the new oslo.i18n as a dependency for Python 3"
Move token persistence classes to token.persistence module

Create and move all token persistence code to a new token.persistence
module. This allows the token_provider_api to utilize the token
persistence service without introducing circular dependencies. A proxy
class, that will log a deprecation message if instantiated, has been
created for both the token.core.Manager object and token.core.Driver
object. These proxy objects are slated for removal in the K cycle.

Change-Id: Iae1240c6de4382332b967926efe31f5355554f6e
bp: non-persistent-tokens
remove static files from docs

Since we are already using oslosphinx, there is no reason to
host our own version of the usual static files.

Change-Id: Id5a88a8bae17a6de3b10961f4db3314728588372
add internal delete notification for endpoint

I think endpoint is not an important resource which other projects would
pay close attention to. So I think an internal notification is enough.

Change-Id: Ie42f2c867ea70fd41583151da0be19b9db682dad
Closes-Bug: #1337763
Merge "Move token persistence classes to token.persistence module"
Clean up EP-Filter after delete project/endpoint

For endpoint_filter extension we should remove all the endpoint
to project associations when we delete the associated endpoint
or project. Otherwise list_endpoints_for_project and
list_projects_for_endpoint API will return 404 response if the
associated endpoint or project has been deleted. Also, there will
be a lot of dirty data remaining in the database.

Change-Id: I48e9100a8fa92d10b7ffe5f89bfb8ba9cf78a0e7
Closes-Bug: #1305537
Merge "add internal delete notification for endpoint"
Check url is in the 'self' link in list responses

Method RestfulTestCase.assertValidListLinks (test_v3.py) doesn't have
any information about the request, so the check of the 'self' url in
links collection is very general:

self.assertThat(links['self'], matchers.StartsWith('http://localhost'))

This fix adds an optional 'resource_url' parameter.

The ability for the assertValidListLinks methods to check the url will
also form the basis for testing of bug 1195037 ("Self" link in v3
collections omits any url filters).

To test this fix test cases in test_v3_identity.py were updated with the
optional 'resource_url' parameter.

Closes-Bug: #1348063.

Change-Id: Ifaf641e635709cbbefcde9f4908a1251a38a0405
Add X-Auth-Token header in federation examples

cURL examples depicting fetching accessible projects and domains upon
successfull retrieving federated unscoped token should also include
``X-Auth-Token`` header.
This patch adds headers to the examples.

Change-Id: I463e34511b8f9b19012fce955f04a0269d5de9cd
Closes-Bug: #1348680
Add the new Keystone TokenModel

This commit adds the new Keystone TokenModel that will be used to
unify in-memory references for tokens. The initial implementation
of this model works similarly to the AccessInfo model from
keystoneclient, providing a unified set of properties that will
return the data from the token-version specific locations.

Future development will round this model out to be better suited
as an authoratative token data source that can be transformed into
any token format / version.

Change-Id: I341e03ac8483f8d6085f4c2c218a28647b9ff2e4
bp: non-persistent-tokens
Sample config update

Update the sample config post token persistence relocation.

Change-Id: Ia9dc3c6be9e7c619651cd6fa1d9bb8bd71806d9b
bp: non-persistent-tokens