Related bug https://bugs.launchpad.net/fuel/+bug/1348548. It was split into two, because we should address Corosync and RabbitMQ clustering separately.
The repro-steps described in #1348548 are enough to reproduce the split brain for rabbit cluster as well.
As a result rabbit cluster will be split into two partitions:
Cluster status of node 'rabbit@node-2' ...
[{nodes,[{disc,['rabbit@node-2','rabbit@node-3','rabbit@node-4']}]},
{running_nodes,['rabbit@node-3','rabbit@node-2']},
{partitions,[{'rabbit@node-3',['rabbit@node-4']},{'rabbit@node-2',['rabbit@node-4']}]}]...done.
Cluster status of node 'rabbit@node-4' ...
[{nodes,[{disc,['rabbit@node-2','rabbit@node-3','rabbit@node-4']}]},{running_nodes,['rabbit@node-4']},
{partitions,[{'rabbit@node-4',['rabbit@node-2','rabbit@node-3']}]}]...done.
RabbitMQ has built-in auto-heal policy which should care about partitions automatically, so we have to use it.
Related bug https:/ /bugs.launchpad .net/fuel/ +bug/1348548. It was split into two, because we should address Corosync and RabbitMQ clustering separately.
The repro-steps described in #1348548 are enough to reproduce the split brain for rabbit cluster as well.
As a result rabbit cluster will be split into two partitions:
Cluster status of node 'rabbit@node-2' ... [{disc, ['rabbit@ node-2' ,'rabbit@ node-3' ,'rabbit@ node-4' ]}]}, nodes,[ 'rabbit@ node-3' ,'rabbit@ node-2' ]}, [{'rabbit@ node-3' ,['rabbit@ node-4' ]},{'rabbit@ node-2' ,['rabbit@ node-4' ]}]}].. .done.
[{nodes,
{running_
{partitions,
Cluster status of node 'rabbit@node-4' ... [{disc, ['rabbit@ node-2' ,'rabbit@ node-3' ,'rabbit@ node-4' ]}]},{running_ nodes,[ 'rabbit@ node-4' ]}, [{'rabbit@ node-4' ,['rabbit@ node-2' ,'rabbit@ node-3' ]}]}].. .done.
[{nodes,
{partitions,
RabbitMQ has built-in auto-heal policy which should care about partitions automatically, so we have to use it.