Merge "Imported Translations from Transifex"
Isolate eventlet code into environment.

The environment module will be configured once, during code initialization.
Subsequently all other possibly-evented modules will retrieve from
environment and transparently obtain either the eventlet or standard
library modules.

If eventlet, httplib, subprocess or other environment dependant module
is referenced outside of the environment module it should be considered
a bug.

The changes to tests are required to ensure that test is imported first
to setup the environment. Hopefully these can all be replaced with an
__init__.py in a post-nose keystone.

Implements: blueprint extract-eventlet
Change-Id: Icacd6f2ee0906ac5d303777c1f87a184f38283bf
Merge "Isolate eventlet code into environment."
Merge "Set default 'ou' name for LDAP projects to Projects"
Consolidate admin_or_owner rule

admin_or_owner rule has already defined at the beginning for the file.
Make use of it.

Change-Id: I18f1d96aaba095d05e770b3d564a255659de23ce
Removing LDAP API Shim

The LDAP identity code had many circular dependecies between
data objects due to the need to look up DNs from ID.   This change
pulls the lookups into the driver layer, and modifies most of the
data objects to take DNs in as their parameters instead. Only objects
that know how to look up their own DNs from thei IDs will continue to
take IDs in, to support the "get" methods.

Change-Id: I0bac360650ccbf72c7ca8317997031420f66e4f3
wsgi.Middleware factory should use **kwargs

Fixes bug 1190978

Change-Id: Ifb0673b7aab5292c13bf5c86c5cc2de8096f7e3e
Move identity ldap backend from directory to file

The LDAP  backend for identity was in a subdirectory as opposed to a file
due to a clash between the name of the local package and the standard python package
both being called ldap.
This change makes the ldap backend look like the other backend.
The mechanism that fixes it is:

from __future__ import absolute_import

Change-Id: Id9ee518238ae22e5128351094eb3764a831cc083
Merge "Fix link typo in Sphinx doc"
Merge "Base.get_engine honor allow_global_engine=False"
Merge "python WebOb dependency made unpinned."
Merge "Initialize logging from HTTPD."
Merge "wsgi.Middleware factory should use **kwargs"
Merge "Consolidate admin_or_owner rule"
Do not raise NEW exceptions

Raising NEW exception is bad practice, because we lose TraceBack.
So all places like:

except SomeException as e:
    raise e

should be replaced by

except SomeException:
    raise

If we are doing some other actions before reraising we should
store information about exception then do all actions and then
reraise it. This is caused by eventlet bug. It lost information
about exception if it switch threads.

fixes bug 1191730

Change-Id: I8dffc36ba5780911dd57d7161d218d0324af60b3
Merge "Version response compatible with Folsom"
Merge "Remove explicit distribute depend."
LDAP list group users not fail if user entry deleted

Using the LDAP identity backend,
if a group member entry doesn't exist in the LDAP server anymore
and the group's members are listed using GET /v3/groups/{groupId}/users,
Keystone returns 404 Not Found.

The server should return all the group members that do exist
and ignore the missing members.

Fixes bug 1174585

Change-Id: I97b53e3d5a5810aa0818b785e23a1948499b29e8
Revert environment module usage in middleware.

Devstack is pulling s3_token into the swift pipeline and so depending on
keystone.environment is breaking devstack installs.

Fixes bug 1193112

Change-Id: Ifd89e542f79a2bee00113e7df676d30da0f05e59
Fix up some trivial license mismatches

In preparation of the Hacking check that would reject
those licenses in the future.

Change-Id: I2ba5080ed836c62fa54fa2734c2ecd3114639b75