← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1406484] [NEW] Fibre channel info retrieved on each call to get_volume_connector

 

Public bug reported:

On a system with no Fibre Channel (FC) HBAs, each call to
get_volume_connector() in virt/libvirt/driver.py will result in
retrieving the FC HBA info.  This is because the code looks like this:

self._fc_wwnns = None
self._fc_wwpns = None
...
if not self._fc_wwnns:
    self._fc_wwnns = libvirt_utils.get_fc_wwnns()
...
if not self._fc_wwpns:
    self._fc_wwpns = libvirt_utils.get_fc_wwpns()

In a system with no HBAs, the two utils functions return empty lists.
Therefore we will go into these ifs on every call.  The if statements
should be re-written as "if self.foo is not None".

I have seen busy systems where these two calls add 800ms to each attach
call!

** Affects: nova
     Importance: Undecided
         Status: New

-- 
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/1406484

Title:
  Fibre channel info retrieved on each call to get_volume_connector

Status in OpenStack Compute (Nova):
  New

Bug description:
  On a system with no Fibre Channel (FC) HBAs, each call to
  get_volume_connector() in virt/libvirt/driver.py will result in
  retrieving the FC HBA info.  This is because the code looks like this:

  self._fc_wwnns = None
  self._fc_wwpns = None
  ...
  if not self._fc_wwnns:
      self._fc_wwnns = libvirt_utils.get_fc_wwnns()
  ...
  if not self._fc_wwpns:
      self._fc_wwpns = libvirt_utils.get_fc_wwpns()

  In a system with no HBAs, the two utils functions return empty lists.
  Therefore we will go into these ifs on every call.  The if statements
  should be re-written as "if self.foo is not None".

  I have seen busy systems where these two calls add 800ms to each
  attach call!

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


Follow ups

References