Consider Switching from Carrot to Kombu for AMQP

Bug #798876 reported by Rick Harris
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
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.

Tags: server-o-mir

Related branches

Dave Walker (davewalker)
tags: added: server-o-mir
Revision history for this message
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.

Revision history for this message
Jay Pipes (jaypipes) wrote :

++ on switching.

Changed in nova:
status: New → Confirmed
importance: Undecided → Low
Revision history for this message
Ed Leafe (ed-leafe) wrote :

no brainer. +1

Revision history for this message
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)
Revision history for this message
Dave Walker (davewalker) wrote :

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

Thanks.

Revision history for this message
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.

Revision history for this message
Dave Walker (davewalker) wrote :

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

Revision history for this message
Dave Walker (davewalker) wrote :

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

Revision history for this message
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)
Changed in nova:
status: Confirmed → In Progress
Thierry Carrez (ttx)
Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → diablo-rbp
Revision history for this message
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)
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.