summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-07-30 18:39:42 +0000
committerGerrit Code Review <review@openstack.org>2014-07-30 18:39:42 +0000
commit7f1feaaf1fa5eca4b1cd541fca4f4203eeaebf8f (patch)
tree0315ab2edb1cde645c413273c84c3c9b3c288c50
parent8d008af4d611376659ddad9cdce56bd2f1396c41 (diff)
parente1329080a4566848c31f077392542ec0cae42ae1 (diff)
downloadkeystone-7f1feaaf1fa5eca4b1cd541fca4f4203eeaebf8f.tar.gz
Merge "Qpid: advance thru the list of brokers on reconnect" into stable/havana
-rw-r--r--keystone/openstack/common/rpc/impl_qpid.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/keystone/openstack/common/rpc/impl_qpid.py b/keystone/openstack/common/rpc/impl_qpid.py
index 8d0a55c2f..d8ced429d 100644
--- a/keystone/openstack/common/rpc/impl_qpid.py
+++ b/keystone/openstack/common/rpc/impl_qpid.py
@@ -468,6 +468,10 @@ class Connection(object):
self.brokers = params['qpid_hosts']
self.username = params['username']
self.password = params['password']
+
+ brokers_count = len(self.brokers)
+ self.next_broker_indices = itertools.cycle(range(brokers_count))
+
self.connection_create(self.brokers[0])
self.reconnect()
@@ -495,7 +499,6 @@ class Connection(object):
def reconnect(self):
"""Handles reconnecting and re-establishing sessions and queues."""
- attempt = 0
delay = 1
while True:
# Close the session if necessary
@@ -505,8 +508,7 @@ class Connection(object):
except qpid_exceptions.ConnectionError:
pass
- broker = self.brokers[attempt % len(self.brokers)]
- attempt += 1
+ broker = self.brokers[next(self.next_broker_indices)]
try:
self.connection_create(broker)