router_info process_floating_ip_addresses execution time is O(n)

Bug #1494963 reported by Ryan Moats
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Invalid
Low
Unassigned

Bug Description

router_info's process_floating_ip_addresses execution time increases as the number of routers scheduled to a network node increases. Ideally, this execution time should be O(1) if possible.

Tags: l3-ipam-dhcp
Changed in neutron:
importance: Undecided → Low
tags: added: l3-ipam-dhcp
Revision history for this message
Ryan Moats (rmoats) wrote :

Using 3.19 kernel appears to address this, so marking invalid

Changed in neutron:
status: New → Invalid
Revision history for this message
Assaf Muller (amuller) wrote :

Can you explain how the kernel version has anything to do with the bug reported?

Revision history for this message
Tapio Tallgren (tapio-tallgren) wrote :

The function process_floating_ip_addresses is a methon in router_info, so I do not see how the processing time would increase as a function of #routers. It seems to be O(n) on the number of cidrs configured on a router (since it has a set of of cidrs and checks membership in the set). Is this the meaning?

Revision history for this message
Ryan Moats (rmoats) wrote :

@tapio-tallgren, @amuller: it turns out that this code invokes ip netns exec to perform some operations. In earlier kernels (for example 3.13) that command's execution time increase with the number of namespaces that have been created. In more recent kernels (3.19 for example) this behavior has been fixed so that the execution time does not increase with the number of namespaces that have been created.

@tapio-tallgren: Since namespaces is equivalent to routers, that's where the O(n) on routers comes from

@amuller: Once I ran with 3.19 kernel, the execution time became O(1) so I marked the bug invalid.

Revision history for this message
Assaf Muller (amuller) wrote :

You could convert this knowledge of kernel versions in to a doc enhancement. Which doc, I wouldn't know, but we can ask around :)

Revision history for this message
Ryan Moats (rmoats) wrote :

@amuller: After talking to mestery last week, I added the following section to the Liberty release notes:

https://wiki.openstack.org/wiki/ReleaseNotes/Liberty#Performance_Considerations

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.