Change assertTrue(isinstance()) by optimal assert

Some of tests use different method of assertTrue(isinstance(A, B)) or
assertEqual(type(A), B). The correct way is to use assertIsInstance(A,
B) provided by testtools.

Change-Id: I8426ee1f6387602660f2d768883d18ab2f04c6f0
Closes-bug: #1268480
Enhancing tests to check project deletion in Active Directory

It includes a delete tree extension for fakeldap.

Change-Id: I91f732e2944f27d28074c77bcad853c729e9d659
Related-Bug: #1247032
Remove unused variable assignment

This variable was assigned a value and then later assigned a new
value without ever being read in between, so the first assignment
had no affect.

Change-Id: I535776f5aa7b634375df23a4efae7e29d6e3d008
Cleanup sample config

The sample config file had some options that were set rather than
documenting the defaults.

Change-Id: I53abba01b3683f3ad9c81d824ccf0b63c016dc87
Removes xrange for Python3 compat

I'm using the builtin range instead of six.moves.range because we're
creating small lists of integers so there really isn't much or a
performance impact.

Change-Id: I9f4a5e9f21e0fd95ffe391eda3aa635938170504
Implements: bp keystone-py3kcompat
Uses six.text_type instead of unicode

The unicode builtin doesn't exist in Python3.

Change-Id: Id13c8be7a016ec06d09cb45180dab64ade6f839c
Implements: bp keystone-py3kcompat
Fixes a Python3 syntax error using raise

In Python 3 you can no longer use the 'raise Class, *args' syntax when
raising exceptions.

Change-Id: I25781e8b57b06afa1ff6da0104a29d80c2a73ffb
Implements: bp keystone-py3kcompat
Do not call deprecated functions

When getting a token using v3 API, a deprecated warning was logged
because the process wound up calling identity_api.get_domain.

The server shouldn't be using deprecated APIs.

Change-Id: I5b6e1aad6db9677abee04ff88c739722f358e386
Update db.sqlalchemy.session from oslo-incubator 018138

Keystone's db.sqlalchemy.session module was out of date. This
updates Keystone's version to oslo-incubator hash
01813871e2f6b9b01783f7da88998d9bc97d4a8c .

 $ python update.py --nodeps --base keystone \
    --dest-dir ../keystone --modules db.sqlalchemy.session

Among other changes, the newer db.sqlalchemy.session has fixes to
the docstring so there are fewer warnings issued during doc build
and rendering issues.

Change-Id: I70f6727adeb98142f8a9a1cea04c71ade27dfaba
revise example extension directory structure

- used the syntax employed by the 'tree' tool, which is not so heavy on
  whitespace, and should render much better as a literal example on the
  web
- merged the 'backends' example into the general example, since having
  at least one backend is common
- flushed out an example 'migrate_repo' directory

Change-Id: Idba9555f93caf2142e0d1becdc1afb0af50b94de
Remove unused method _create_metadata

The _create_metadata method in keystone.assignment.backends.ldap
isn't used or tested, so remove it.

Change-Id: I6479c8d294faab3ef57c4167a2f75db8a79c2ad4
Remove unused methods from AuthInfo

The lookup_user and _assert_user_is_enabled methods in
keystone.auth.controllers.AuthInfo aren't used or tested, so
remove them.

Change-Id: I9dedb918cdc19d659562f4caaf69de50a73deaff
Remove tox locale overrides

* tox.ini: The LANG, LANGUAGE and LC_ALL environment overrides were
introduced originally during the testr migration in an attempt to be
conservative about the possibility that locale settings in the
calling environment could cause consistency problems for test runs.
In actuality, this should be unnecessary and any place where it does
cause issues ought to be considered an actual bug. Also, having
these in the configuration actively causes older pip to have
problems with non-ASCII content in some package metadata files under
Python 3, so drop it now.

Change-Id: Icf41e4e7a869375e9be710f42c7dd05f9daf100b
Closes-Bug: #1277495
Remove unused method _store_protocol

The _store_protocol method in
keystone.contrib.federation.backends.sql.Federation is no used,
tested, or documented, so remove it.

Change-Id: I9edf4cb36fa1f667813b4962da68a08fb277a332
Remove unused method _get_domain_conf

The _get_domain_conf method in keystone.identity.Manager is not used,
tested, or documented, so remove it.

Change-Id: I332b473806df7416f175573d1f43c3c64b0619c3
Doc - Detailing  objects' attributes available for policy.json

Adding to documentation ("Configuring Keystone" part) details about
target objects attributes, that are available to customize access
policies in the policy.json.

DocImpact
Change-Id: I3799942230062f4feaa9faf59097bf0ef8bc139b
Fixes a misspelling

Change-Id: Iaba5d7dd783a881010c76e83cd356ca084050bc0
Cleanup invalid token exception text

The invalid token exception text was not as clear as it could be.

Change-Id: I73692f86652cde1574d60a6aba7f44611a9fcca6
Fix indentation issue

The comment line was not indented properly.

Change-Id: I9c8987174af92082383a3cb99b5c73ead4e5da78
Allow specifying region ID when creating region

The documentation for the regions/ resource in the v3 API
specified that the user should be able to create a new region
using PUT /regions/{region_id}, however the original regions
patch forgot to include this functionality.

This patch adds that ability, with a custom mapper route to
keystone.catalog.controllers.RegionsV3.create_region_with_id.
When implementing, I also noticed an issue with an unused
region_id parameter in the driver's create_region() call. This
patch cleans up that unused parameter and ensures the region_ref
parameter always contains an ID key.

Change-Id: I36d14d4136efc165528282f1357a74291924502e
Closes-Bug: #1271235