Create a storage driver for AMQP 1.0

Registered by Flavio Percoco on 2013-05-06

Create a storage back-end for amqp 1.0

Blueprint information

Status:
Not started
Approver:
Flavio Percoco
Priority:
Medium
Drafter:
Victoria Martinez de la Cruz
Direction:
Needs approval
Assignee:
None
Definition:
Drafting
Series goal:
None
Implementation:
Deferred
Milestone target:
None

Related branches

Sprints

Whiteboard

# Starting work in Juno-1, to finish in J-2 or J-3 if the POC works out

# Why AMQP 1.0?

- cross-broker
- single implementation
- message oriented
- support for peer-to-peer
- easier to scale
- support for federation
- easier to put behind HA

# RabbitMQ support for AMQP 1.0

Since RabbitMQ is widely used by the OpenStack community a common concern would be why not to add support for it directly.

Currently RabbitMQ doesn't have support for AMQP 1.0, there is an experimental driver that works well for small deployments but won't be enough for production needs.

To solve this we decided to split efforts and create a separate driver for RabbitMQ that will cover AMQP < 1.0 and, if in the future a decent support for AMQP 1.0 is added to RabbitMQ, deprecate the 0.9 driver at that point.

# Mapping AMQP 1.0 - Marconi API

A draft can be checked out in https://gist.github.com/vkmc/1816061a3e601a93a42b

# Due to the difference between the supported models by AMQP and Marconi this implementation is no longer continued. Despite of that, this could be revisited in the future.

# Partial-implementation (not tested) -https://github.com/vkmc/marconi-storage-amqp10

(?)

Work Items

Work items:
Mapping AMQP 1.0 - Marconi API: INPROGRESS
Driver and queue controller: TODO
Message controller: TODO
Claims controller: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.