Properly return 501 for unsupported Catalog calls

Similar to the other APIs, this creates a Driver class that describes
expected functionality of the catalog driver and raises NotImplemented
accordingly. NotImplementedError()'s are caught and returned as proper
501s instead of AttributeErrors.

Also fixes some inconsistent paramters names in the sql backend.

Fixes bug 954087

Update: Convert usage of NotImplementedError() to new
        keystone.exception.NotImplemented() for all
        unimplemented driver actions.

Change-Id: I69d8e21a6f651e69b724ec5ed5784645bad80c00
Add automatically generated code docs.

Fix bug 954734.

Fix "python setup.py build_sphinx" to build the code documentation via
sphinx-apidoc.

Change-Id: I18eced31aab424b7c808697324cbf6cfede442a7
Merge "Allow connect to another tenant."
Refactor keystone.common.logging use (bug 948224)

Change-Id: I01b2b5748a2524273bb8c2b734ab22415652f739
Update username -> name in token response.

Tokens validation responses contain user information. The API docs
seem to indicate token["user"]["name"] contains the username but
currently the auth_token.py middleware checks for
token["user"]["username"]. This updates that check and the tests.

Fixes bug 955563

Change-Id: Ib2fbf6fcea87f7066394cf14c18158f1e5eeaf06
Installing keystone docs

fixes bug 954217

Change-Id: Iba79d2d5bae836037d5b0e10169d9bbdba8603dc
Merge "Raising unauthorized instead of 500 (bug 954547)"
Fix default port for identity.internalURL

This should be the public_port and not the admin one.

Change-Id: Ib09e7479c0507797532e6bb91d76b7d3083cc761
Signed-off-by: Julien Danjou <julien.danjou@enovance.com>
Merge "Update username -> name in token response."
Merge "Add automatically generated code docs."
Merge "Properly return 501 for unsupported Catalog calls"
Merge "sample_data.sh: check file paths for packaged installations"
Support PyPAM in pam backend, update to latest API

Fix bug 938801.

This bug pointed out that some distros don't have the same pam Python
module packaged that this backend was expecting.  In my case, on Fedora,
it's PAM and the API is not compatible with the pam module that was
used.  This patch makes the backend support PyPAM, as well as the
original pam module that was used.

In order to test this, I updated the pam backend to the latest backend
API.  Even though the base class will raise NotImplementedError, I
included all functions here to make it more clear all of the things
this backend does not do.

Change-Id: I74144f4e63b6830c8224bc87e1662eb5df8728a0
Remove glance_auth_token middleware

* Fixes bug 957501

Change-Id: I2ae6ec7b391dd41587f2246940a8d392c12c91fe
Add check for MAX_PASSWORD_LENGTH to utils.

Updates to keystone password hashing and checking functions so
that a max password length is enforced.

Fixes LP Bug #959288.

Change-Id: Id3048f3c916e92c59ac5b063d09c3d612d51c97c
Remove nova-specific middlewares

* Nova now ships with nova.api.auth.NovaKeystoneContext
* Nova does not depend on either of the middlewares being removed

Change-Id: I9546e5c84ea1453f5dfd2dd7bf9924ccda57f87a
Fixes LP #954089 - Service list templated catalog

* Adds missing test cases for the TemplatedCatalog
* Adds a base CatalogTest that different backends
  can use
* Updates kvs.Catalog to raise ServiceNotFound where
  appropriate
* Updates the tests.test_keystoneclient_sql to actually
  test the SQL catalog backend
* Removes old test for incorrect endpoints listing
* Removes the keystone.catalog.core.Driver.service_exists
  method since it was only implemented in the SQL driver
  and wasn't required now that get_service and delete_service
  properly raise ServiceNotFound exception.

Change-Id: I35690cc147e56007be27bacf94eeff360e727e5d
Merge "Add check for MAX_PASSWORD_LENGTH to utils."
Merge "Remove nova-specific middlewares"
Swift middleware doc update.

Change-Id: I01ecc4d602b5e887f66d32676f11a92d022f693f