Merge lp://staging/~thedac/charms/trusty/rabbitmq-server/le-ignore-min-cluster into lp://staging/~openstack-charmers-archive/charms/trusty/rabbitmq-server/next
Status: | Merged |
---|---|
Merged at revision: | 117 |
Proposed branch: | lp://staging/~thedac/charms/trusty/rabbitmq-server/le-ignore-min-cluster |
Merge into: | lp://staging/~openstack-charmers-archive/charms/trusty/rabbitmq-server/next |
Diff against target: |
278 lines (+134/-49) 3 files modified
hooks/rabbit_utils.py (+46/-36) hooks/rabbitmq_server_relations.py (+17/-13) unit_tests/test_rabbit_utils.py (+71/-0) |
To merge this branch: | bzr merge lp://staging/~thedac/charms/trusty/rabbitmq-server/le-ignore-min-cluster |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Billy Olsen | Approve | ||
Review via email: mp+273474@code.staging.launchpad.net |
Description of the change
Ignore min-cluster-size when juju has leadership election LP:1500204
This MP also addresses two major hurdles to rabbitmq clustering.
1) When more than one node has run stop_app at the same time nodes cannot join the cluster.
The ultimate solution to this is using charmhelpers.
2) When using juju leadership election, if the elected leader is the third or greater node (i.e. rabbitmq/2 +), the leader would never be joined to the cluster.
Changing the clustering algorithm for each non-leader to join_cluster with the leader resolves this. Also by clustering with the leader rather than non-leader nodes we avoid split-brain clusters.
charm_unit_test #10526 rabbitmq- server- next for thedac mp273474
UNIT OK: passed
Build: http:// 10.245. 162.77: 8080/job/ charm_unit_ test/10526/