← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1236704] Re: neutron API list calls taking lot of time

 

An issue concerning slowness of list operations has been recently
identified and fixed: https://bugs.launchpad.net/neutron/+bug/1302467

The above issue will be part of the upcoming Icehouse release and backported to Havana.
The issue reported in https://bugs.launchpad.net/neutron/+bug/1302611, less important than the previous one, will instead be available on the first Icehouse stable release, and likely backported to havana too.

The policy checks are still performed after the DB object are retrieved, but they're now much faster.
We are working on further improvements, but it is not yet clear whether they will be backportable.

This bug is now going to be marked as invalid, as we have new trackers for this issue.
Please reopen if you wish so.

** Changed in: neutron
       Status: Confirmed => Invalid

** Changed in: neutron
   Importance: High => Undecided

** Changed in: neutron
       Status: Invalid => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1236704

Title:
  neutron API list calls taking lot of time

Status in OpenStack Neutron (virtual network service):
  Incomplete
Status in neutron grizzly series:
  New
Status in neutron havana series:
  New

Bug description:
  Neutron API calls are taking lot of time compared to nova or keystone service APIs.
  In our deployment - its considerable that we had to increase neutron_url_timeout in nova.conf to 120s.  Required for nova list to succeed.

  In our analysis we found that DB access was quick enough but
  considerable time spent in the following code

  https://github.com/openstack/neutron/blob/master/neutron/api/v2/base.py#L236

  Here is the code for reference
  if do_authz:
              # FIXME(salvatore-orlando): obj_getter might return references to
              # other resources. Must check authZ on them too.
              # Omit items from list that should not be visible
              obj_list = [obj for obj in obj_list
                          if policy.check(request.context,
                                          self._plugin_handlers[self.SHOW],
                                          obj,
                                          plugin=self._plugin)]

  There is a clear comment from Salvatore to fix the above code.

  # FIXME(salvatore-orlando): obj_getter might return references to
              # other resources. Must check authZ on them too.
              # Omit items from list that should not be visible

  Need to fix it or improve the neutron API response time for list calls.
  Commenting the above code improved in my devstack setup for port list to 6 seconds against 18 seconds for about 500 ports.
  This issue is reproduced in Grizzly and I am sure it is an issue for Havana too.

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