cleanup dependent data upon user/tenant deletion

fixes bug 974199
fixes bug 973243

* upon deletion of tenant also delete user tenant relations
* upon deletion of tenant or user also delete corresponding metadata
* add foreign keys in metadata to ensure consistency

see also: https://bugs.launchpad.net/keystone/+bug/959294/comments/16

Change-Id: I264714fe82b727e3e0f5273bcb781a580a3f3826
fix pam admin user case

fixes bug 994481

Change-Id: I4ba73d1ce7ea7bcd6e1d3614230b6bad7ed8e617
Truly handle mailmap entries for all combinations.

Bug: 994957

Mailmap might contain mapping with full name. This commit fixes
it to handle these combinations:
  Foo ZZ <email@foo.com> Bar YY <email@bar.com>
  Foo <email@foo.com> Bar <email@bar.com>
  <email@foo.com> <email@bar.com>

This is inline with mailmap convention described here:
  http://man.github.com/git/git-shortlog.html

* keystone/openstack/common/setup.py
  parse_mailmap(): Pull out canonical and alias email addresses.

* keystone/tests/test_setup.py
  New test script to cover various combinations in mailmap.

Change-Id: I471172aa012f37e499e86ffeb74c30ebcdb89b00
Corrects url conversion in export_legacy_catalog

Fixes bug 994936

Change-Id: Ia63fdae7d0bcd7f8b0b587da588404765e22fb8f
Added tenant name validation. Fixes bug 966249.

1. Verified name length while creating/updating tenant (for all backends).
2. Disallowed blank tenant name in create/update.
3. Added unit test coverage.

Change-Id: Ied1e2707ba16e14d791308fb618ca18effa0245f
Invalidate user tokens when password is changed

Fixes bug 996595

This commit will cause all valid tokens to be deleted for a user
who's password is changed (implemented for the sql and kvs backends)

Change-Id: I6ad7da8957b7041983a3fc91d9ba9368667d06ac
Merge "cleanup dependent data upon user/tenant deletion"
notify calling process we are ready to serve

Fixes bug 980037

Service managers starting keystone-all have no way of being notified
when the service is ready to accept connections. This commit allows
a configurable command to be called when we are ready e.g.
for systemd setting the statup type of a service unit to "notify" and setting
onready    = systemd-notify --ready
in keystone.conf, would notify a waiting systemd that we are ready to
serve

In an automated envirnment (e.g. puppet) this will allow the startup of
the keystone-all service (with systemctl for example) directly followed
by usage of the keystone client without the need for a sleep (or retry)
while we are waiting for the keystone service to be ready.

Change-Id: I3f7aafe9837be60a0f35cae1a7db892f6851cc47
Flush tenant membership deletion before user

Ensure user tenant membership is *actually* removed before deleting
user.

Fixes bug 998137.  This should be proposed to stable/essex as well.

Change-Id: I097456e603177646d62ebf08ca71af1fd7f787bf
Merge "Invalidate user tokens when password is changed"
Merge "Flush tenant membership deletion before user"
Make sure we parse delay_auth_decision as boolean.

- Fixes bug 995222.
- Documentation had already a false which is correct, updating the bug.

Change-Id: I08625d8fa07c05b25c851c1df327cbdf660bd614
One 'ctrl-c' kills keystone.

Fixes bug 928564.

Change-Id: I5ba157244d5ba9a018244141c27806db2b82f1e8
Added 'NormalizingFilter' middleware.

Fixes bug 956954.

Change-Id: Ib5995a01439e564fcb27682976e8e27c8bb7d0d1
Add validations of 'name' field for roles, users and tenants.

Fixes LP Bug #997725

Change-Id: I2759d21bed3c0e42642de96184844e1b9e795bb6
Changed arguments in keystone CLI for consistency.

Changed --user to --user_id and --role to --role_id in the keystone client for
consistency. Need to update keystone calls here.

This change should be applied after [bug/994744 b7fe11c] in
python-keystoneclient.

Fixes bug 994744.

Change-Id: I234c1d46c0d92a6a00ebb25c5dfbba69cd46be52
Fix depricated /users/{user-id}/roles

* user-only roles are apparently depricated and not implemented, but
  the AdminRouter is incorrect, resulting in a stack trace rather than
  the expected not-implemented message.  As long as it is in the code,
  it might as well point to the right place...

Change-Id: I923249e44e56e79ab088235a4e87277e6ad65deb
Invalidate user tokens when a user is disabled

Fixes Bug 997194

Delete valid tokens for a user when they have been disabled

Moved logic to delete tokens into update_user, as this can be called
directly form the REST API.

Also checks if a user is enabled when creating a token from another
token, this helps in cases there the backend didn't support listing of
tokens (and as a result weren't deleted)

Change-Id: Ib5ed73a7873bfa66ef31bf6d0f0322f50e677688
Nail prettytable test dependency at 0.5.0.

Prettytable 0.6.0 has a bad md5sum in PyPi and as such causes tests
to fail when creating a new venv. Nail the version to 0.5.0.

Fixes LP Bug #1000757.

Change-Id: I121ba8d411e47c2fe154370d9c3c941e25331ce6
Remove service_* from authtoken examples

Not used in new keystone

Change-Id: I08322b72225441354f37c9e7853e9bccb397c737