← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1330364] Re: Duplicate Qpid connection is created during Connection initialization

 

** Changed in: oslo
       Status: Fix Committed => Fix Released

** Changed in: oslo
    Milestone: None => juno-2

-- 
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:
  Fix Released
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


References