← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1240905] Re: libvirtd restart can sometimes cause multiple nova-compute connections

 

** Changed in: nova/havana
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1240905

Title:
  libvirtd restart can sometimes cause multiple nova-compute connections

Status in OpenStack Compute (Nova):
  Fix Released
Status in OpenStack Compute (nova) havana series:
  Fix Released

Bug description:
  libvirt driver's get_connection() is not thread safe in the
  presence of a libvirtd restart during concurrent incoming
  requests.

  With existing code, each request will in turn call get_connection,
  find the connection is broken, try to create new one, block
  for a while and yield to the next thread to do the same.
  You get as many connections as there are incoming requests
  and only the last one is used finally. If enough are incoming
  these connections can exhaust the client pool configured
  for libvirtd.

  One fix is to hold a lock while creating the connection.
  Note that has_min_version calls _conn which calls get_connection
  so the lock may not be held over the call to has_min_version()

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1240905/+subscriptions