Use oslo.sphinx and remove local copy of doc theme

Use the new oslo.sphinx version of the OpenStack doc
theme instead of copying it into this repo.

blueprint oslo.sphinx

Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
Change-Id: I0bd91f7bb43f97b99051fed65b75fc05d5149cc8
Clear cached engine when global engine changes

The keystone.common.sql.core.Base class cached the global database
engine when get_session() was called. When the global database engine
changed to a new instance, the cached copy was used in subsequent
calls to get_session(), leading to using the old engine and tests
failing to run by themselves.

This change makes it so that when the global database engine is
changed, Base will use the new engine rather than the invalid one.

Change-Id: I75aa3c230d9b4fd666ab8d478c9e9a27669905e8
Fixes: Bug #1179259
sql.Driver:authenticate() signatures should match

A method called authenticate_user was renamed in
identity.backends.sql.Driver from authenticate_user
to authenticate but the base class wasn't updated.

Also, the user_id and password arguments to authenticate
should NOT be optional.

Change-Id: Ie6eb42f060e368ec99d5d8241a404cf7c70d48ae
Ec2 credentials table not created during testing

This change makes it so that the SQL Ec2Credential unit tests
can be run individually. It does this by making sure the
credential table model is available before the tables are
created.

Before this change, you couldn't run these tests individually
and would get an error that the ec2_credential table doesn't
exist.

Part of fix for bug 1179259

Change-Id: I68c8b91b18ac0065628c979e5bcc56152ae14916
Fixing broken credential schema in sqlite.

Credential table has foreign key constraint
referring to tenant table which is dropped.
Since sqlite does not support alter table
drop constraint, the foreign key constraint
was not dropped. When we try to load credential
table using sqlite backend it fails because tenant
table does not exist. Fix is provided such that
the credential table is recreated without foreign
key constraint and the data is moved from old
credential table to the new credential table.

Fixes Bug #1190383

Change-Id: I3afb04254f33e12fccb7da84c8674feba36622c8
default token format/provider handling

The Keystone server would print a warning when both the token
format and provider were set to the default.

Also, the Keystone server would not start if the format was
commented out and the provider was set to the uuid.Provider.

Fixes: bug 1204314

Change-Id: Id7db33a1f27c4986af153efc73b22db8c6a8942e
Load backends before deploy app in client tests

The backends should be loaded before the app is deployed for
the client tests, otherwise the wrong backends may be loaded
when the app is deployed.

Part of fix for bug 1204605

Change-Id: I70680c3daea3a863bcbde07b1ee7e062cd150e51
Remove vestiges of Assignments from LDAP Identity Backend

Bug 1204995

Change-Id: Ife92041ffc386b8f9629096ebd65020f3cc7ae26
Implement exception module i18n support

The doc string in exception.py of Keystone will be
returned with __doc__ method, but cannot realize the
internationalization.Change exception module to enable
i18n support.

Changes in the patch are:
1, useing class variable msg_fmt to replace class __doc__
2, modify wsgi.render_exception function using unicode
function to replace str function
3, modify/add UT test cases

Fixes: bug # 1179425

Change-Id: I75c1229c905a2625d2f6961d1a8dd3958eac51a5
Scipped tests don't render as ERROR's

Replaced `raise nose.exc.SkipTest()` statement to self.skipTest().
Removed unused nose.exc imports.

Fixes bug 1172794

Change-Id: Ieb353864acadef43508d185156c7fa1667baa845
Merge "Scipped tests don't render as ERROR's"
Update references with new Mailing List location

Yesterday, openstack@lists.launchpad.org was migrated with
all users to openstack@list.openstack.org.

This patch updates references to the old mailing list with the
new, to ensure that people encountering them don't accidentally
try and join the old list!

Change-Id: I0f8a91a361647a87fab9a1392d56a815f4d66eac
Merge "Clear cached engine when global engine changes"
Merge "Implement exception module i18n support"
Use keystone.wsgi.Request for RequestClass

Keystone defines a custom Request class that's used in many
places (middleware, etc.). BaseApplication says that subclasses
should typically set Request as the custom RequestClass,
but for some reason it's not used in keystone.wsgi.Application.

This doesn't cause any problems at this point because Keystone's
custom Request is the same as webob.Request. bp user-locale-api
requires the custom Request to implement calculating the requested
locale, and if Application doesn't set this custom RequestClass then
most requests don't using the custom Request.

Part of changes for bp user-locale-api

Change-Id: If20ee9000aba89a5a2c94ed8a3dda7382142038e
Merge "default token format/provider handling"
Fix typo: Tenents -> Tenants

Change-Id: I3cbef892af708368bffe8f503299be3cf8f3c030
use 'exc_info=True' instead of import traceback

We need log traceback message sometime, but people who ignore 'exc_info'
argument would import traceback for getting traceback message. This work
is already done by 'exc_info' in logging module. For example:

logger.error('msg', exc_info=True)
                                  # exc_info evaluate as true and log
                                      message from sys.exc_info()
logger.debug('msg', exc_info=(type, value, traceback))
                                  # exc_info evaluate as an exception
                                    tuple and log message from this
                                    tuple
logger.exception('msg')
                                  # exception add exc_info=1 automatically

Change-Id: I9e1caf05fcf06bb977597076ebe278b593d70bf4
Merge "sql.Driver:authenticate() signatures should match"
Remove passwords from LDAP queries

Bug 1178032

Change-Id: Idca895b1d4d2e611fe834f49b436864a73f4006c