summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorMonsyne Dragon <mdragon@rackspace.com>2011-08-15 16:14:35 +0000
committerTarmac <>2011-08-15 16:14:35 +0000
commit2ed3b12cc8da82304cef88dde64631b6348ee60e (patch)
treec15b39fd58fa907823665ff90579f3f971ff48bc /nova
parent1fe628fbe1f9964ac4536ce1c859d84d9cd8cb08 (diff)
parent6a5fa0bd07e305c21c32ea6863614fa9d25566ac (diff)
downloadnova-2ed3b12cc8da82304cef88dde64631b6348ee60e.tar.gz
nova-2ed3b12cc8da82304cef88dde64631b6348ee60e.tar.xz
nova-2ed3b12cc8da82304cef88dde64631b6348ee60e.zip
Add durable flag for rabbit queues.
Diffstat (limited to 'nova')
-rw-r--r--nova/flags.py1
-rw-r--r--nova/rpc/amqp.py8
2 files changed, 6 insertions, 3 deletions
diff --git a/nova/flags.py b/nova/flags.py
index e994a1665..48d5e8168 100644
--- a/nova/flags.py
+++ b/nova/flags.py
@@ -305,6 +305,7 @@ DEFINE_string('rabbit_virtual_host', '/', 'rabbit virtual host')
DEFINE_integer('rabbit_retry_interval', 10, 'rabbit connection retry interval')
DEFINE_integer('rabbit_max_retries', 12, 'rabbit connection attempts')
DEFINE_string('control_exchange', 'nova', 'the main exchange to connect to')
+DEFINE_boolean('rabbit_durable_queues', False, 'use durable queues')
DEFINE_list('enabled_apis', ['ec2', 'osapi'],
'list of APIs to enable by default')
DEFINE_string('ec2_host', '$my_ip', 'ip of api server')
diff --git a/nova/rpc/amqp.py b/nova/rpc/amqp.py
index 61555795a..fe429b266 100644
--- a/nova/rpc/amqp.py
+++ b/nova/rpc/amqp.py
@@ -257,7 +257,7 @@ class TopicAdapterConsumer(AdapterConsumer):
self.queue = topic
self.routing_key = topic
self.exchange = FLAGS.control_exchange
- self.durable = False
+ self.durable = FLAGS.rabbit_durable_queues
super(TopicAdapterConsumer, self).__init__(connection=connection,
topic=topic, proxy=proxy)
@@ -345,7 +345,7 @@ class TopicPublisher(Publisher):
def __init__(self, connection=None, topic='broadcast'):
self.routing_key = topic
self.exchange = FLAGS.control_exchange
- self.durable = False
+ self.durable = FLAGS.rabbit_durable_queues
super(TopicPublisher, self).__init__(connection=connection)
@@ -373,6 +373,7 @@ class DirectConsumer(Consumer):
self.queue = msg_id
self.routing_key = msg_id
self.exchange = msg_id
+ self.durable = False
self.auto_delete = True
self.exclusive = True
super(DirectConsumer, self).__init__(connection=connection)
@@ -386,6 +387,7 @@ class DirectPublisher(Publisher):
def __init__(self, connection=None, msg_id=None):
self.routing_key = msg_id
self.exchange = msg_id
+ self.durable = False
self.auto_delete = True
super(DirectPublisher, self).__init__(connection=connection)
@@ -573,7 +575,7 @@ def send_message(topic, message, wait=True):
publisher = messaging.Publisher(connection=Connection.instance(),
exchange=FLAGS.control_exchange,
- durable=False,
+ durable=FLAGS.rabbit_durable_queues,
exchange_type='topic',
routing_key=topic)
publisher.send(message)