RPC API Implementation using Apache Qpid

Registered by Russell Bryant

The current RPC API implementations rely on using rabbitmq for the AMQP infrastructure. To provide the ability to use Apache Qpid (http://qpid.apache.org/) for the AMQP infrastructure, we must provide an RPC API implementation using the Python Qpid client since Rabbitmq and Qpid do not currently use the same version of AMQP.

Blueprint information

Status:
Complete
Approver:
Vish Ishaya
Priority:
Low
Drafter:
Russell Bryant
Direction:
Needs approval
Assignee:
Russell Bryant
Definition:
Approved
Series goal:
Accepted for essex
Implementation:
Implemented
Milestone target:
milestone icon 2012.1
Started by
Russell Bryant
Completed by
Russell Bryant

Related branches

Sprints

Whiteboard

Work has started on this. Our approach is to add a new implementation of the rpc API, nova/rpc/impl_qpid.py.

Before deciding on a new rpc API implementation, we did some evaluation of adding Qpid support into kombu so that it would just work with the existing impl_kombu.py. However, that proved to not make a whole lot of sense. Kombu is heavily based on the abstractions from rabbitmq and AMQP 0-9-1. The Qpid APIs are quite different and don't map very well. It will end up being a much cleaner implementation by just mapping the rpc API to the Qpid messaging API directly.

Gerrit topic: https://review.openstack.org/#q,topic:bp/apache-qpid-rpc,n,z

Addressed by: https://review.openstack.org/2982
    Add support for Qpid to nova.rpc.

Addressed by: https://review.openstack.org/3364
    Add nova.exception.InvalidRPCConnectionReuse.

[by Technologov] Q: Are there any benefits of "Apache Qpid" vs. Rabbit MQ ? Should it become the default in future ?

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.