Merge lp:~gandelman-a/charms/precise/keystone/cluster_leader into lp:~openstack-charmers/charms/precise/keystone/ha-support
Status: | Merged |
---|---|
Merged at revision: | 50 |
Proposed branch: | lp:~gandelman-a/charms/precise/keystone/cluster_leader |
Merge into: | lp:~openstack-charmers/charms/precise/keystone/ha-support |
Diff against target: |
227 lines (+99/-25) 3 files modified
hooks/keystone-hooks (+21/-22) hooks/utils.py (+77/-2) revision (+1/-1) |
To merge this branch: | bzr merge lp:~gandelman-a/charms/precise/keystone/cluster_leader |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
James Page | Approve | ||
Review via email: mp+145979@code.launchpad.net |
Description of the change
Adds better support for service leaders.
* The service leader is determined depending on how keystone is currently clustered. If there are multiple units, but no hacluster subordinate, the oldest service unit is elected leader (lowest unit number). If hacluster exists and the service is clustered, the CRM is consulted and the node hosting the resources is designated the leader.
* Only the leader may initialize or touch the database (create users, endpoints, etc)
* The leader is responsible for synchronizing a list of service credentials to all peers. The list is stored on disk and resolves the issue of the passwd dump files in /var/lib/keystone/ being out-of-sync among peers.
We can use the same approach in the rabbitmq-server charm if it works out here.
Tested OK and generally looks sound
+1 merged.