← Back to team overview

openstack team mailing list archive

Re: High Available queues in rabbitmq

 

Hi,

I'm working on a RabbitMQ H/A patch right now.

It actually involves more than just using H/A queues (unless you're
willing to add a TCP load balancer on top of your RMQ cluster).
You also need to add support for multiple RabbitMQ's directly to nova.
This is not hard at all, and I have the patch ready and tested in
production.

Alessandro, if you need this urgently, I can send you the patch right
now before the discussion codereview for inclusion in core nova.

The only problem is, it breaks backward compatibility a bit: my patch
assumes you have a flag "rabbit_addresses" which should look like
"rmq-host1:5672,rmq-host2:5672" instead of the prior rabbit_host and
rabbit_port flags.

Guys, can you advise on a way to do this without being ugly and
without breaking compatibility?
Maybe have "rabbit_host", "rabbit_port" be ListOpt's? But that sounds
weird, as their names are in singular.
Maybe have "rabbit_host", "rabbit_port" and also "rabbit_host2",
"rabbit_port2" (assuming we only have clusters of 2 nodes)?
Something else?

On Mon, Jul 23, 2012 at 11:27 AM, Jay Pipes <jaypipes@xxxxxxxxx> wrote:
> On 07/23/2012 09:02 AM, Alessandro Tagliapietra wrote:
>> Hi guys,
>>
>> just an idea, i'm deploying Openstack trying to make it HA.
>> The missing thing is rabbitmq, which can be easily started in
>> active/active mode, but it needs to declare the queues adding an
>> x-ha-policy entry.
>> http://www.rabbitmq.com/ha.html
>> It would be nice to add a config entry to be able to declare the queues
>> in that way.
>> If someone know where to edit the openstack code, else i'll try to do
>> that in the next weeks maybe.
>
> https://github.com/openstack/openstack-common/blob/master/openstack/common/rpc/impl_kombu.py
>
> You'll need to add the config options there and the queue is declared
> here with the options supplied to the ConsumerBase constructor:
>
> https://github.com/openstack/openstack-common/blob/master/openstack/common/rpc/impl_kombu.py#L114
>
> Best,
> -jay
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp



-- 
Eugene Kirpichov
http://www.linkedin.com/in/eugenekirpichov


Follow ups

References