From: Xavier Queralt Date: Mon, 26 Aug 2013 14:11:34 +0000 (+0200) Subject: Ensure that qpid connection is closed (from oslo) X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=4576ea44aa51703d7ed3b036a044dbd911d6f3e9;p=openstack-build%2Fcinder-build.git Ensure that qpid connection is closed (from oslo) This is commit a9bc62814d in oslo-incubator Fixes bug 1172922 When reestablishing a session and a connection already exists the existing connection will be closed prior to opening the new one. Change-Id: I9a25800fe4b56eba89d550e3461ce095bf902f0a --- diff --git a/cinder/openstack/common/rpc/impl_qpid.py b/cinder/openstack/common/rpc/impl_qpid.py index 24235b1f1..8f52fb84f 100644 --- a/cinder/openstack/common/rpc/impl_qpid.py +++ b/cinder/openstack/common/rpc/impl_qpid.py @@ -331,15 +331,16 @@ class Connection(object): def reconnect(self): """Handles reconnecting and re-establishing sessions and queues""" - if self.connection.opened(): - try: - self.connection.close() - except qpid_exceptions.ConnectionError: - pass - attempt = 0 delay = 1 while True: + # Close the session if necessary + if self.connection.opened(): + try: + self.connection.close() + except qpid_exceptions.ConnectionError: + pass + broker = self.brokers[attempt % len(self.brokers)] attempt += 1