Fixed in oslo.messaging by I7618cf3506d857579dc37b338690d05179ba272d oslo-incubator patch https://review.openstack.org/#/c/100177/
Note - this isn't nearly as bad as the report makes it sound. We simple creating duplicate connection objects, but don't actually set up and tear down extra sockets with the broker ** Also affects: oslo Importance: Undecided Status: New ** Also affects: oslo.messaging Importance: Undecided Status: New ** Changed in: oslo.messaging Status: New => Fix Released ** Changed in: oslo.messaging Importance: Undecided => Low ** Changed in: oslo.messaging Assignee: (unassigned) => ChangBo Guo(gcb) (glongwave) ** Changed in: oslo Importance: Undecided => Low ** Changed in: oslo Status: New => Triaged ** Changed in: oslo Status: Triaged => In Progress ** Changed in: oslo Assignee: (unassigned) => zhu zhu (zhuzhubj) -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1330364 Title: Duplicate Qpid connection is created during Connection initialization Status in OpenStack Neutron (virtual network service): New Status in Oslo - a Library of Common OpenStack Code: In Progress Status in Messaging API for OpenStack: Fix Released Bug description: neutron was still adopting the oslo incubator code for rpc modules. During the qpid connection setup from amqp get_connection_pool. Duplicate connections will be created during __init__(class Connection in impl_qpid.py). And after the first connection object is created, this connection will never be used, and within the next step method reconnect, it will create a new qpid connection object and open it. Need to fix this issue for duplicate creation of qpid connection. Impl_qpid.py class Connection(object): """Connection object.""" pool = None def __init__(self, conf, server_params=None): if not qpid_messaging: raise ImportError("Failed to import qpid.messaging") self.session = None self.consumers = {} self.consumer_thread = None self.proxy_callbacks = [] self.conf = conf if server_params and 'hostname' in server_params: # NOTE(russellb) This enables support for cast_to_server. server_params['qpid_hosts'] = [ '%s:%d' % (server_params['hostname'], server_params.get('port', 5672)) ] params = { 'qpid_hosts': self.conf.qpid_hosts, 'username': self.conf.qpid_username, 'password': self.conf.qpid_password, } params.update(server_params or {}) 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() To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1330364/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp