Make the LDAP debug option a configurable setting

The LDAP OPT_DEBUG_LEVEL is very useful for debugging LDAP
problems with Keystone. This change makes it easier to set
and find. The default will be to have it disabled.

DocImpact

Change-Id: I342fe2eea752bd8632074600386f0173e7328132
Stronger assertion for test_user_extra_attribute_mapping

The assertion was checking if the value was in the list, but it's
actually the only element in the list.

Change-Id: I8666736ec0eec5a859e646a3e0328a8e6baccde7
no one uses macports

update the dev docs for OS X to use Homebrew instead of macports, and
reflect the necessary dependencies for 10.9 Mavericks (2013) instead of
10.7 Lion (2011).

Change-Id: Ia1a06a15b9f03777fe9d3e77a37eb395f15a4706
Make the py33 Jenkins job happy

This is the first step toward getting Keystone up and running on
Python 3. This patch will create a virtualenv, but will not actually
run any tests. Future patches will enable testing modules as
incompatibilities are worked out.

bp python3

Change-Id: I1ca3bad7ec8789872791a18594cd6f3b4bf911eb
First real Python 3 tests

The goal of this changeset is to enable at least some of the tests to be
run under Python3. Even if we can't get them all to run initially it's
important that we start seeing the changes from bp keystone-py3kcompat.
Also it's important that we are checking for regressions. If we do all
this Python 3 work, but don't have automated tests in place we may
inadvertantly undo that work.

In this initial changeset I had to do some not nice things to get this
to work.

First I had to switch to using the nose test runner. testr seems to be
much more aggressive about importing everything, even when you are not
going to run the test module. This idea came from oslo. Once we have
full Python 3 support we can go back to testr.

Then I had to mock out some of the libraries that don't work on Python
3. This is unfortunate, but had to be done because keystone.test.core
indirectly imports a significant amount of the codebase.

bp python3

Change-Id: I6dd0d1b84380c4c386f70b72cdfcdf9b744c755f
setUp must be called on a fixture's parent first

There is some odd behavior when a fixture's setUp fails before it has a
change to call the parent's setUp. It causes an error in the error
handling and the original exception is lost. The bug has been reported
upstream:
  https://bugs.launchpad.net/python-fixtures/+bug/1299502

Change-Id: I27cbfbe2c8ae34e72950361f8d0d7d8d3e249f8c
Fix cache configuration checks

There were two different checks to see if a cache region was already
configured with a backend. Both were changed to use the
Region.is_configured property.

The initial reason for this change was that the hasattr approach in the
test fixture was causing some issues in Python 3. For some reason it was
forcing the __get__ lookup on the descriptor and Python 2 did not.

bp python3

Change-Id: I409656f5ede08160cc68d48e7a3a636328e3e9a6
Refactor service readiness notification

import and apply Oslo systemd module
drop old keystone.common.systemd
drop onready configuration parameter
 - systemd notification is no-op when not running inside systemd

Oslo commit 53e1214c092f09e3851b1a1b55289a93a72b09ec

Change-Id: I80f325c9be9c171c2dc8d5526570bf64f0f87c78
Check that all po/pot files are valid

Perform minimal checks on po and pot files so that no broken files can
get imported.

Add msgfmt to list of requirements in doc/source/setup.rst.

Change-Id: Ifa9fe2fc1ca9a41621ff3039c249700cdb1cd0ac
Related-Bug: #1299349
Co-Authored-By: Clark Boylan <clark.boylan@gmail.com>
Sync with oslo-incubator 28fba9c

This syncs Keystone with oslo-incubator commit hash
28fba9c262943e3f6b0b10321680fc08cf6b8387 .

In keystone:

$ rm -r keystone/openstack/common

In oslo-incubator:

$ python update.py ../keystone

Commits
-------
0f495ee Emit a log statement when releasing internal lock
9912e5d Add API for creating translation functions

Change-Id: If8c8f6aa96408d7d15e17a0e70e18d7d25df2285
Escape values in LDAP search filters

LDAP search filter strings need to have special characters escaped
in order to be valid. There were some places where filter strings
were constructed where the value was not escaped.

Change-Id: Ib7870bc92d3af9066bb15e863cac4abd06f00768
Related-Bug: #1302106
Set proper DB_INIT_VERSION on db_version command

When db_version argument to keystone-manage is used before db_sync
the versioning API incorrectly versioned the DB to 0. The code now
properly references the DB_INIT_VERSION allowing for db_version
to be run on an unversioned database prior to sync.

Change-Id: Idca5c8a3f4822ade8a5566181960085862ec2429
Closes-Bug: 1314340
Fixed some typos throughout the codebase

Change-Id: I66e421b1743f7b3e3e7ecd34e64f67b6e0a53f2c
Remove the configure portion of extension docs

The docs themselves have little to do with configuration,
and mostly describe how to enable the extension.
Suggest removing the configuration part of the file rename.
Also motivating this change, is the fact that we are including
a doc that helps to configure the federation extension
(https://review.openstack.org/#/c/89220/).

Change-Id: I0fe845ac9bdfede330a7eb56fee6f971290789b3
fixed typos found by RETF rules in RST files

rules are avaialble at https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Typos

Change-Id: Ia2b0e226d3f682fcba59907eadeb2a2c84972175
Merge "Check that all po/pot files are valid"
Merge "Remove the configure portion of extension docs"
Merge "Fixed some typos throughout the codebase"
Merge "Sync with oslo-incubator 28fba9c"
Merge "Set proper DB_INIT_VERSION on db_version command"