[openstack-dev] AMQP Version upgrade plans?

Russell Bryant rbryant at redhat.com
Fri Jul 12 01:19:13 UTC 2013


On 07/11/2013 12:06 PM, William Henry wrote:
> 
> 
> ----- Original Message -----
>> On 07/08/2013 10:51 AM, Ted Ross wrote:
>>> If someone from the Qpid community were to work on integrating the new
>>> AMQP 1.0 technology into OpenStack, where would be the right place to
>>> start?  Would it be to add a new transport to oslo.messaging?
>>
>> I think so, yes.  oslo.messaging is new, but it will deprecate the
>> existing 'rpc' library in oslo-incubator.  All projects will need to
>> move to oslo.messaging, so for something new I would focus efforts there.
> 
> I think that one of the important points that Ted brought up is that AMQP 1.0 doesn't have the concepts of broker artifacts like exchanges etc.
> 
> A recent change I proposed to the existing impl_qpid.py which focuses more on addressing and not exchanges is a very important first step to solve several issues: a recent qpidd leak issue, transitioning to AMQP 1.0 (addressing), and possible HA solutions.
> 
> This is an area I'd really like to continue to help out in. I'm back from some vacation and would like to get stuck in soon.

Regarding the qpid exchange leak, that issue is mitigated largely by the
fact that the only time we declare a direct exchange is for replies to
an rpc.  In previous versions there was a new one of these for *every*
method call, which made this problem really bad.  In the current code,
we only create a single one.

However, we're still left with a leak.  The fact that RabbitMQ supports
auto-delete on exchanges and Qpid doesn't is what got us into this spot,
since this code works just like the kombu driver with respect to all of
this.

As for migration to AMQP 1.0, how do these changes help?  Supporting
AMQP 1.0 requires an entirely new driver that uses Qpid Proton, right?
How does changing addressing in the current Qpid driver (that will never
do 1.0) help?

I'm curious what you mean by "possible HA solutions".  Can you elaborate?

-- 
Russell Bryant



More information about the OpenStack-dev mailing list