Standardizing the Federation Process

Split functionality for attribute extraction and mapping layer
for saml2 auth plugin. Renamed to mapped.py, leaving original file
for backwards compatibility.

Co-Authored-By: Guang Yee <guang.yee@hp.com>
Implements: bp generic-mapping-federation

Change-Id: If9a8cbf62334c796a70e939bf00e7b194e5749c8
Add audit ids to tokens

Add audit identifiers to each token. If the token is a rescoped token
the audit identifier will be a list where index 0 being the token's 
audit id and index 1 is the initial token in the chain's audit_id.

If the token is not rescoped, the token's audit_ids will only contain
the audit_id of the token itself (at index 0).

This change is to resolve a method of performing token revocations
on individual tokens without needing to rely on the low
resolution of token expires time.

DocImpact

Change-Id: If5fdf187bd525f273281f9fdf53bdc8865164289
bp: non-persistent-tokens
Sync with oslo-incubator

Syncs Keystone with oslo-incubator commit hash
a9e1122f44deedeeb5dc824b6c085bb9beb08452

Commits since last sync (5fa2dae4):
-----------------------------------
037dee0 Set stevedore log level to WARN by default
ad248f6 Specify namedtuple_as_object=False when using simplejson
1c3ecfc Enhance versionutils.deprecated to work with classes
37c0091 Add unicode coercion of logged messages to ContextFormatter
6614413 Correct coercion of logged message to unicode
1188d88 Except socket.error if syslog isn't running
ac995be Fix E126 pep8 errors
631f880 Set keystonemiddleware and routes.middleware to log on WARN level
726d00a Adjust oslo logging to provide adapter is enabled for
9a46271 Add Kilo release name to versionutils
433fa0b Make logging_context_format_string optional in log.set_defaults
a2ad3a2 Allow deprecated decorator to specify no plan for removal
2b966f9 Fix deletion of cached file for policy enforcer
ac92c06 Add default log level for websocket

Change-Id: I244115cb31a3f90951be8914091a1a0175930442
bp: non-persistent-tokens
Sync Py2 and Py3 requirements files

bp python3

Change-Id: Ie6cd87bed5797bb9d845b0d9e9d0fa0410eab5c6
Convert to urlsafe base64 audit ids

Convert audit ids over to being urlsafe base64 strings. This also
addresses an issue with Python3 bytes object not having a .encode
method.

Change-Id: I9e9459b87ebb84d3bc3e36ef10a4b8364abc0c5f
bp: non-persistent-tokens
Correct the signature for some catalog abstract method signatures.

Closes-bug: 1359608

Change-Id: If706c4b28a357e2f3dcde50fbff6418c193c0887
Enhance V3 routers to store basic resource description

Part of JSON Home is providing a description of each resource
provided by the API. With this change, when resources are added
some basic description data required for JSON Home can be provided
and will be stored and made available.

bp json-home

Change-Id: I504cfd321f45e27f58b1998efc70e30a17805b74
Merge "Correct the signature for some catalog abstract method signatures."
Merge "Add audit ids to tokens"
Merge "Sync with oslo-incubator"
Merge "Convert to urlsafe base64 audit ids"
Add CADF notifications for role assignment create and delete

Assigning and removing roles from users|groups and projects|domains
should be an auditable event. Thus, we should start sending out
notifications when these events occur.

implements bp role-assignment-notifications
Co-Authored-By: David Stanek <dstanek@dstanek.com>
Change-Id: I62384dee4077cd29062e4b59adb4d5a38ad9234c
Merge "Sync Py2 and Py3 requirements files"
Merge "Standardizing the Federation Process"
Merge "Add CADF notifications for role assignment create and delete"
Merge "Enhance V3 routers to store basic resource description"