Merge lp://staging/~james-page/charms/precise/hacluster/redux into lp://staging/charms/hacluster

Proposed by James Page
Status: Merged
Merged at revision: 16
Proposed branch: lp://staging/~james-page/charms/precise/hacluster/redux
Merge into: lp://staging/charms/hacluster
Diff against target: 1217 lines (+647/-387)
10 files modified
.project (+17/-0)
.pydevproject (+8/-0)
config.yaml (+9/-4)
copyright (+5/-0)
hooks/hacluster.py (+8/-235)
hooks/hooks.py (+136/-146)
hooks/lib/cluster_utils.py (+130/-0)
hooks/lib/utils.py (+332/-0)
hooks/maas.py (+1/-1)
hooks/pcmk.py (+1/-1)
To merge this branch: bzr merge lp://staging/~james-page/charms/precise/hacluster/redux
Reviewer Review Type Date Requested Status
Andres Rodriguez (community) Approve
Review via email: mp+155237@code.staging.launchpad.net

Description of the change

Redux ready for final submission (hopefully)

1) Refactored to use HA openstack-charm-helpers reducing charm specific code

2) 'ready' barrier on peer relation added

Each service-unit set a 'ready' flag on the peer relationship when its received enough information to configure corosync and pacemaker; service units are only counted as valid once they have set this.

This ensures that nodes that don't have enough config info don't get counted when assessing clusterable size

3) oldest peer configures services

This is to avoid a split brain when initially forming the cluster; the oldest peer will most likely be busy dealing with other service relations, whilst the other service units start getting ready to be clustered during early service archive

By ensuring that the oldest peer configures the actual services, we smooth the transition from peering->clustered and avoid one of the newer service units trying to take control before the cluster is fully formed.

4) configurable initial cluster size

Default to 2 units; but should be set to the target size for the initial cluster.

5) default to corosync/pacemake v1 integration

This is as recommended upstream and splits the control of the corosync and pacemaker daemons.

To post a comment you must log in.
Revision history for this message
Andres Rodriguez (andreserl) wrote :

The branch looks good to me. However, I believe we need to make sure the pacemaker initscript is being set to defaults and that starts after corosync since it is disabled in packaging.

Revision history for this message
Andres Rodriguez (andreserl) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: