yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #05661
[Bug 1236704] Re: neutron API calls taking lot of time
This issue indeed does not affect Havana - the root cause is the fact that the policy engine makes a db access for every item returned by a get.
The fix for Grizzly (and Folsom) is rather extensive, and possibly not acceptable as a backport.
I can try and work out a smaller fix for reducing the number of db
accesses performed by this operation.
** Changed in: neutron
Assignee: (unassigned) => Salvatore Orlando (salvatore-orlando)
** Also affects: neutron/grizzly
Importance: Undecided
Status: New
** Changed in: neutron
Status: New => Invalid
** Changed in: neutron/grizzly
Assignee: (unassigned) => Salvatore Orlando (salvatore-orlando)
--
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 calls taking lot of time
Status in OpenStack Neutron (virtual network service):
Invalid
Status in neutron grizzly 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