RabbitmqHA
- Launchpad Entry: NovaSpec:tbd
- Created: 19 October 2010
- Last updated: 19 October 2010
- Contributors: Armando Migliaccio
Summary
This specification covers how Nova supports RabbitMQ configurations like clustering and active/passive replication.
Release Note
Austin release of Nova RPC mappings deals with intermittent network connectivity only. In order to support RabbitMQ clusters and active/passive brokers, more advanced Nova RPC mappings need to be provided, such as strategies to deal with failures of nodes holding queues within clusters and/or master/slave failover for active/passive replication.
Rationale
Currently Nova RPC implementation deals with intermittent network connectivity, i.e. if the connection between a RabbitMQ server and a Nova component (e.g. scheduler, API or compute) drops, the RabbitMQ client adapter tries to recover from it. On the other hand, RabbitMQ provides solutions like clustering and active/passive replication for a greater deal of scalability and reliability. If these
However, RabbitMQ clustering and active/passive replication may provide a greater deal of scalability and/or fault-tolerance, but support must be provided by the Nova RPC make sure that proper fail-over strategies are implemented
User stories
Assumptions
Design
Implementation
Code Changes
Code changes should include an overview of what needs to change, and in some cases even the specific details.