Update oslo-incubator log.py to a01f79c

This updates the log module from oslo-incubator to
a01f79c3050962fd744239956e9654407d14ea1f

 $ git checkout a01f79c3050962fd744239956e9654407d14ea1f
 $ python update.py --nodeps --base keystone \
     --dest-dir ../keystone --modules log

This includes a fix for the deprecated logger that caused the
deprecated message to be printed multiple times rather than once.

Change-Id: I6174b064205adcdc9fb966a9e01eb5190b5b730e
Closes-Bug: #904307
Closes-Bug: #1266812
Fix webob.exc.HTTPForbidden parameter miss

HTTPForbidden should use the parameter 'explanation'
instead of 'detail'.
This patch fixes this bug.

Change-Id: I0ebc01e8bbcc564debce450ea52faf94faa21eeb
Closes-Bug: #1283872
Remove common.sql.migration

common.sql.migration has forgotten to be deleted. Now the file is unused.

Change-Id: I4075197185e21fab0accea0ed9826cc4f6d90fde
Blueprint: use-common-oslo-db-code
Handle exception messages with six.text_type

Handle exception messages with six.text_type instead of using
`str`. This is required to prevent of entering bytes to a database and
prevent unexpected behavior of database and database driver.

Change-Id: Idb54ee271cfb09e8523e357674b598b11704742c
Closes-Bug: #1273301
v3 endpoint create should require url

The url parameter of endpoint object is not nullable in db, but we
do not have a null check in api. So, when create a endpoint if I
do not specify url parameter I will get a 500 reponse.
This patch will add an attribute require check to url parameter.

Change-Id: I9c8aa3bcb99ea5cb5e4e4d3306d8d222c6f074d1
Closes-Bug: #1284422
revocation_list only call isotime on datetime objects

If expires is a str then isinstance six.text_type is false then the following
exception is raised:
AttributeError: 'str' object has no attribute 'strftime'

This change explicitly checks for a datetime object, which is what
timeutils.isotime expects.

Change-Id: I8012f96498fffe5f54e7f1ca08b7beb6fa168f9c
Closes-Bug: #1285871
Removes a redundant test

I mistakenly asked for the test to be added in a review because I
thought there was some LDAP specific behavior. It turns out that this is
just a copy of the test in the parent class.

Change-Id: I98e007a1a40e64a18692623f80b7d733075c63c2
Update Oslo wiki link in README

Use lastest Oslo wiki link.

Change-Id: I448aac133060fe7a4793ed5d92d7698db9984401
Lazy gettextutils behavior

gettextutils.enable_lazy() must be called before gettextutils._() is called to
ensure it has the desired lazy lookup behavior. This includes cases, like
keystone.exceptions, where gettextutils._() is called at import time.

Change-Id: I1db293978493868b6f7972b316fb6847c945ee30
Co-Authored-By: David Stanek <dstanek@dstanek.com>
Add tests for endpoint enabled.

There were no tests that show what happens when you create or
update the 'enabled' field in endpoints with different types of
values. There were also no tests that show what happens when the
'enabled' field isn't specified when an endpoint is created.

The new tests show that you can set the 'enabled' field to
any type of value even though the identity API specification says
that it's a Boolean. The new tests also show that if the 'enabled'
field isn't set explicitly then it's not returned on the response.

Change-Id: Iadc2a0ed3d6aaaa89b82f4caa8829ecd1d8f2712
Related-Bug: #1282266
Properly configure OS-EP-FILTER test backend

The OS-EP-FILTER tests were incorrectly setting the config files
so that the
endpoint_filter.backends.catalog_sql.EndpointFilterCatalog
backend wasn't used during testing.

The current coverage report shows that
keystone/contrib/endpoint_filter/backends/catalog_sql is not tested.
With this change, the coverage is 96%.

Change-Id: Ib87f1cdaa9f0b494ccd80fd5c37d868f3c46e9f2
Related-Bug: #1273867
Update Oslo wiki link in README

Use lastest Oslo wiki link.

Change-Id: I2a92733c506da90a27cb882bc9e9bd8498510084
Update curl api example to specify tenant

In the keystone api_curl_examples document, the curl example for
"POST /tokens" did not specify a tenant. This example utilized
the default tenant, which is not commonly used. Changed the
example to include "tenantName" as part of the example to prevent
future confusion.

DocImpact

Closes-Bug: #1269739

Change-Id: Iaad8c7c5a32bc6cff38c938dd36365cddd6741cb
Limited use trusts

Trusts now have a "remaining_uses" field that tracks how many times
a trust can still issue a token. It is decremented by 1 each time a
trust related authentication occurs (call to /auth/tokens), until it
reaches 0 and no token can be issued through this trust anymore. If
set to null (default value), trusts can be used indefinitely to
authenticate.

Closes-Bug: #1250617
Implements: bp trusts-chained-delegation
DocImpact
Co-Authored-By: Florent Flament <florent.flament-ext@cloudwatt.com>

Change-Id: I2c80b6d548a6715da0366c6f64ee58fbce514adb
Merge "Add tests for endpoint enabled."
Merge "Properly configure OS-EP-FILTER test backend"
Merge "Update oslo-incubator log.py to a01f79c"
Merge "Limited use trusts"
drop key distribution from icehouse

key distribution is being continued in feature branch here:

  https://github.com/openstack/keystone/tree/feature/key-dist

Change-Id: I47504bec73dd7e1a6419a5509093a9d494d90108
Merge "Remove common.sql.migration"