351dac725de3afd442455fadc755620a90522fca
RabbitMQ nodes must all be stopped prior to a major/minor version
upgrade [1]. The role does this by distinguishing between the upgrader
node and the rest in separate stop and start tasks.
Upgrades can fail when more than one member of rabbitmq_all are not
members of the cluster. This is due to a bug fixed for greenfield
deployments by 5dc67955f0. The same fix
was not applied to upgrades because major/minor upgrades require all
RabbitMQ nodes to be stopped which is incompatible with serialising the
role in isolation.
This change uses a play to stop all but one of the nodes, prior to
running the rabbitmq_server role, and then serialises the running of
the role so that one node is upgraded at a time. This minimises the
downtime as much as possible while allowing the role to be applied to
one node at a time.
[1] http://www.rabbitmq.com/clustering.html#upgrading
Change-Id: Icca5cb1a96f83063223b6ddbeb02eeb562b0931b
OpenStack-Ansible RabbitMQ server
- Documentation for the project can be found at:
-
http://docs.openstack.org/developer/openstack-ansible-rabbitmq_server
- The project home is at:
Description
Languages
Python
69.3%
Jinja
30.1%
Shell
0.6%