diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-07-30 18:39:42 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-07-30 18:39:42 +0000 |
commit | 7f1feaaf1fa5eca4b1cd541fca4f4203eeaebf8f (patch) | |
tree | 0315ab2edb1cde645c413273c84c3c9b3c288c50 | |
parent | 8d008af4d611376659ddad9cdce56bd2f1396c41 (diff) | |
parent | e1329080a4566848c31f077392542ec0cae42ae1 (diff) | |
download | keystone-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.py | 8 |
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) |