Basic request stats monitoring & reporting

Attributes are tracked seperately per interface (public API vs admin API):
- Request method (GETs, POSTs, etc)
- Requested resources
- Number of requests per remote address
- Response status codes

Retrieve statistics report:
  GET http://keystone:35357/v2.0/OS-STATS/stats
  e.g. http://paste.openstack.org/raw/18528/

Reset statistics report:
  DELETE http://keystone:35357/v2.0/OS-STATS/stats

Change-Id: Id21af755e5e25b8275dd55b7415bf4c421304807
Fix order of returned tuple elements in pam authenticate

authenticate is supposed to return (user, tenant, metadata) and not
(tenant, user, metadata). It turns out that in the pam case, the content
of tenant and user are equivalent, so it wasn't causing a real bug.

Change-Id: I3d657bddece8961e2234931dcf7cd1d4cd657a39
setting up babel for i18n work
blueprint start-keystone-i18n

Change-Id: Ie18daada4b537b74a27aa1defe676698d9944468
Add .mailmap file.

Add this file with relevant entries to avoid duplicate
entries in AUTHORS file.

* .mailmap
  Entries to return unique name/email while using git log command.

Change-Id: If8bb0f6a7ba9dc7d4d3e4a786e05985fcd98e663
fix man page build

there was an obsolete man_pages in conf.py
sync keystone-all man page with keystone-all -h output

Change-Id: Ie136d30d0ea647082459ae35720e48742aa2b722
fix sphinx warnings

also disable building old docs

Change-Id: I0bbbb2b702a12bd9acb79f89b5b5c92cffeec779
Refactor 404's into managers & drivers (bug 968519)

The goal is to move the responsibility of reference checks away from
controllers and into the underlying managers & drivers, which can
handle the task with equal or greater efficiency.

- Tenant references from create_user/update_user are NOT tested
  due to inconsistencies between backends
- Additional test coverage improvements

Also fixes bug 999209, bug 999608, bug 1006029, bug 1006055, bug 1006287,
bug 1006334, and bug 1006344.

Change-Id: I7de592e7dd4518038436b9a9fdaab559b00a0537
Keystone should use openstack.common.jsonutils

Implements blueprint use-common-jsonutils

1. Edit openstack-common.conf and import keystone/openstack/common/jsonutils.py
2. Remove json package imports and replace with jsonutils

Client code in vendor/ hasn't been changed

Change-Id: I57c670fde9f2c2241eddab1b012e8d5e6a72deb7
Do not crash when trying to remove a user role (without a tenant)

Fix bug 999567.

Just use the right method, to stop returning an internal server error
(500). We will return 501 instead, since we stopped supporting user
roles, but at least this is not crashing.

Change-Id: Ia2d6815e712daf146abba5089b79afc8aaddb2d2
Merge "fix man page build"
Merge "Basic request stats monitoring & reporting"
Merge "Keystone should use openstack.common.jsonutils"
Keystone should use openstack.common.timeutils

Implements blueprint use-common-timeutils

1. Edit openstack-common.conf and import keystone/openstack/common/timeutils.py
2. Replace datetime.utcnow with timeutils.utcnow
3. Replace utils.isotime with timeutils.isotime
4. Remove utils.isotime in common/utils.py and datetime related unittest

Change-Id: I4f5a63a368fde8787a0dc0a817c940de685b9ca2
fix variable names to coincide with the ones in common.ldap

Change-Id: I148d8d9b0a67b8c45d06227829d0105935216c4d
don't assume that the LDAP server require authentication

Change-Id: I67f64e6eb19e7a96c0e50f99e57c7fee613df909
Merge "Add .mailmap file."
Merge "Fix order of returned tuple elements in pam authenticate"
Correct Tree DN

instead of
    cn=example,cn=com,ou=Users
code now generates
    ou=Users,cn=example,cn=com

Getting stricter in testing and adding some regression testing

Fixes Bug 980209

Change-Id: Ib97e6cb00848ea183c7e1f2b2589b25924a08caa
pep8 v1.3.3 compliance (bug 1019498)

Change-Id: I7254a363a80248ecb6c2889968bc43ed44cd4383
Merge "Keystone should use openstack.common.timeutils"