Consider Switching from Carrot to Kombu for AMQP

Bug #798876 reported by Rick Harris on 2011-06-17
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Low
Chris Behrens

Bug Description

Carrot has been discontinued (https://github.com/ask/carrot).

The author is recommending that everyone switch to Kombu (http://pypi.python.org/pypi/kombu) which exposes a Carrot compatible API.

This bug is really a place-holder for investigating whether it's worth making the switch.

Related branches

Dave Walker (davewalker) on 2011-06-24
tags: added: server-o-mir
Soren Hansen (soren) wrote :

Worth making the switch? It's discontinued. What possible motivation could we have for not making the switch?

Switching is inevitable. It's better to do it now when everything is nice and calm instead of doing it when we discover some odd bug in carrot that forces us to switch anyway.

Jay Pipes (jaypipes) wrote :

++ on switching.

Changed in nova:
status: New → Confirmed
importance: Undecided → Low
Ed Leafe (ed-leafe) wrote :

no brainer. +1

Chris Behrens (cbehrens) wrote :

+1

In fact, I worked on this a few days a month ago. I have a branch I need to push up and clean up.

There's a compatibility module in kombu, but I don't think it works with the current way nova/rpc.py is implemented. (We have Consumer and Publisher classes that set self.<whatever> instead of passing settings to __init__() calls of the super class). So, I started on code to replace carrot with kombu completely.

Changed in nova:
assignee: nobody → Chris Behrens (cbehrens)
Dave Walker (davewalker) wrote :

@Chris, have you been able to push your unfinished branch anywhere?

Thanks.

Chris Behrens (cbehrens) wrote :

@Dave, I need to go dig out my branches. I have a start to a couple of different approaches to refactoring rpc and using kombu. I'll get them cleaned up in the next few days and pushed up.

Dave Walker (davewalker) wrote :

@Chris, if you want some help - please let me know. Thanks.

Dave Walker (davewalker) wrote :

Non-function patch, but a start. Please steal this.

Chris Behrens (cbehrens) wrote :

Spent all night on an issue re-using connections (connection pooling). Essentially it's this bug:

https://bugs.launchpad.net/nova/+bug/803168

I thought it would be solved with kombu, but it turns out to not be the case. Looks like I may have to implement kombu without connection pooling. See comments in bug 803168.

I'll clean up this mess I've created and get the kombu branch uploaded in the morning.

Thierry Carrez (ttx) on 2011-08-26
Changed in nova:
status: Confirmed → In Progress
Thierry Carrez (ttx) on 2011-09-01
Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2011-09-09
Changed in nova:
milestone: none → diablo-rbp
Ask Solem (asksol) wrote :

Note that Kombu does have connection pools now. I'm really behind on documenting Kombu, which is something I'm spending some time on this month. If you have any questions re the connection and producer pools don't hesitate to contact me.

Thierry Carrez (ttx) on 2011-09-22
Changed in nova:
milestone: diablo-rbp → 2011.3
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers