enovance/puppet-openstack-cloud — pull request #652 by EmilienM (2014-10-03 19:00:03+00:00)
Title: RabbitMQ load-balancing support

Currently, clients (OpenStack components), use several hosts to connect to RabbitMQ broker and if one fails, the client switch to another one.
This could be improved by adding RabbitMQ hosts in a HAproxy pool and use load-balancing (since queues are mirrored).

That would improve performances since we will load-balance RPC messages and also reliability when a failover occurs, since HAproxy will detect the failure and exclude the node of the pool while the downtime.

2 patches:
* loadbalancer: implement rabbitmq binding
Implement RabbitMQ binding with these options:
- disabled by default for backward compatibility
- '5672' is the port by default
- mode TCP with roundrobin balance
* messaging: support HAproxy binding
As an option and disabled by default for backward compatibility, allow
to export a puppet resource to create HAproxy binding for RabbitMQ
service

Close #400