Avoid use of str() with exceptions

The new Message class does not allow str() so all locales can be safely
translated. It requires use of unicode() instead.

Change-Id: I1fd9142b0211cecc746578f4080cb2ddfa663b0d
Related-Bug: #1274638
Merge "Add a docstring and rename mapping tests"
Refactor mutable parameter handling

The use of _mutable_parameters in the federation controllers was confusing.
The mutable parameters were the same each time check_immutable_params was
called, so there was no reason to allow passing in the mutable parameters.

In FederationProvider the mutable parameters was copied for no reason.

Similarly, filter_params is always used with the default keys so there's
no need to allow passing in the keys, and safer to not allow it.

bp identity-providers

Change-Id: I333fb23420282be350330dcb265f54da0fceac21
Refactor federation controller class hierarchy

The FederationProtocol class should not be a subclass of
IdentityProvider, since that means that FederationProtocol will
provide methods like create_identity_provider, which is confusing.

Also, MappingController can use the new base class to share the
base_url calculation.

bp identity-providers

Change-Id: Id9d8b3f7f5990cad66518c9dc5067670cdb58030
Remove unnecessary test methods

These functions aren't needed because the default behavior is to
do the same thing.

bp identity-providers

Change-Id: Ifc066b519cd3564384a617f7ee4009b9fc97f37c
Federation IdentityProvider filter fields on update response

The Federation IdentityProvider was failing to filter the fields
when an update was done. This could lead to extra fields being
returned to the client that should not be returned.

bp identity-providers

Change-Id: Ie909e2b7b7eaf06c555b45daef7de4474aceba2e
Use self.opt_in_group overrides

Use of self.opt_in_group makes option setting "sticky" even when
subsequent configuration files are loaded in. In some cases
(e.g. ``test_cert_setup.CertSetupTestCase``) the directly set
override (not using ``opt_in_group``) could be lost as test further
test cleanup patchsets were proposed. All identified direct
CONF object option setting has been replaced with use of
``opt_in_group``.

Change-Id: Iccd72003b61f775b71ea7402dc70eba1723d2336
bp: keystone-parallel-testing
Refactor Auth plugin configuration options

The auth plugin configuration can now either be specified by the
[auth] methods and [auth] <method name> options or as a class-name
as part of the [auth] methods option (e.g.
keystone.auth.plugins.password.Password). Both styles of auth
method specification can be used at the same time.  No two auth
plugins may register for the same auth method.

Each auth plugin must now define a 'method' attribute that specifies
the auth method it is registering for.

Tests have been modified to use a unified "method" name, this ensures
we are testing the appropriate code paths for auth methods rather than
relying on strings matching in all cases going forward.

Co-Authored-By: Brant Knudson <bknudson@us.ibm.com>
bp: keystone-parallel-testing
Change-Id: Icbb1d63d36726b8dbf7dfd8c6353fa30bbe490de
Remove legacy diablo and essex test cruft

Remove the legacy cruft that is no longer used from diablo and
essex.

Change-Id: I4c00b12ef6d31c8387cdf12e58aed7416ede9f2d
Change Continuous Integration Project link

The Continuous Integration Project link does not exist anymore as such.
Link instead to the documentation about the CI infrastructure.

Closes-Bug: #1274282
Change-Id: Ia69d9a3f89f67acee611222f411019395aa9d41c
Replace urllib/urlparse with six.moves.*

urllib and urlparse are divided to different module in Python 3.
Use six.moves.* to make them on Python 2 and Python 3.

Part of blueprint keystone-py3kcompat

Change-Id: I54d322c51f0f87e3ec00c69016251d6ea5015adb
Sync oslo's policy module

I made some changes to the policy module in oslo to use six.moves.urllib
instead of py3kcompat.urlutils. This change will help us on our way to
being more Python3 friendly.

Our test_policy tests had to be updated because we are stubbing
implementation details in policy.

Change-Id: I23377a4c71f0f0cb58518f0cd5ce341a8a9c4243
Implements: bp keystone-py3kcompat
Merge "remove access log middleware from the default paste pipeline"
Merge "Refactor Auth plugin configuration options"
Merge "Refactor mutable parameter handling"
Merge "Refactor federation controller class hierarchy"
Merge "Remove unnecessary test methods"
Merge "Federation IdentityProvider filter fields on update response"
Merge "deprecate access log middleware"
Merge "Make error strings translatable"