Make keystone API version configurable

This patch is to add a new option named version in
keystone::endpoint. To keep compatibility, the default
value is 'v2.0'.

Fixes bug #1222328

Change-Id: Ib75465fdb091d1caf126c2522ce845c25810aa64
Update creds_keystone exception handling

It was missing a case that has been added to auth_keystone recently.

Fixes Bug# 1223532

Change-Id: I35b86fc272fb09f7881bf1b0d68998a7a9badea2
Remove the get_service_id method and inline python

Keystone client's endpoint-list now returns the service id associated
with each endpoint.

Fixes Bug# 1223534

Change-Id: I2ff56803f5f9d1f57a8fc1eabaf5ac5b13310b6d
Update default db username to keystone

The current default db username for keystone is
keystone_admin. This is inconsistent with the default
db username for every other service which use the
same name as the name of the service.

The documented installation instruction for keystone
also use keystone as the database user.

This commit updates the default to use keystone instead of
keyston_admin.

Change-Id: I1cfaf3fbbc691ff9dbef415b69492f9f965dc113
Update documentation for sql_connection credentials

Lets use the same username and password the database server setups by
default.  Otherwise, following the examples will result in a password /
user mismatch.

Change-Id: Ieee67b5912bb823a3b422752bb7f7e30bbba4897
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Pin posgresql to 2.5.0

b/c the upstream version has broken backwards compat

Change-Id: Idf751af76b37ac8b165facc4a5f776f8804535f8
Merge "Update documentation for sql_connection credentials"
Merge "Update default db username to keystone"
Merge "Remove the get_service_id method and inline python"
Make tenant name lookup for keystone user lazy

Previously, when you managed a keystone user, Puppet
would start by loading all information available
about each user. Most of this information was loaded
with a single call to user-list, but the tenant name
required an additional two commands (one to get the
tenantId, and an additional one to get the tenant name)

This patch makes the tenant lookup lazy, meaning that
those additional calls will only be performed when
the tenant attribute is actually used. This will
cause a significant performance increase for the
case where only a large set of users exists, and
only a small fraction of them need to be managed.

Partial-Bug: 1224179
Change-Id: I7141d8e922005ecae33c2c596c9806a03fede53f
Do not set tenant description in cache

Prevously, after the full list of tenants
was retrieved to build the cache, an
extra call was made to tenant-get per tenant to
retrieve the tenant's description.

This extra call changed the cache creation
operation from O(1) to O(N).

This commit improves the query complexity to
0(1) by moving the description lookup from
part of self.instances to the description
getter method (essentailly making it lazy).

This will work different depending on if you
are interacting with the resource in query
vs. manage mode.

In query mode, self.instances will build
out the cache withouth the description initially.
Since description is a properly, it will invoke
the getter method.

In manage mode, the description getter will only be invoked
for cases where the description is managed.

Partial-Bug: 1224179
Change-Id: Id9268678e122ba3aa3e5b0bcfd77466071a4192d
Preparing for 2.2.0 release.

Updated version in Modulefile.
Added release notes to README.md.

Change-Id: Ib21cedcf7a3f7226caf3d0bd85e4568f18dc8a46
Merge branch 'master' of https://github.com/stackforge/puppet-keystone into havana