arping can be spawned in background to speed-up floating IP assignment

Bug #1233391 reported by Brian Haley
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Brian Haley

Bug Description

The arping command is spawned in a shell from the l3-agent with a default of sending 3 requests (send_arp_for_ha = 3). This can increase the time the agent spends waiting by 2 seconds for each IP address, which adds up on a very busy network node, and is worse then the agent is restarted and associates many IP addresses on a router at the same time.

Spawning the arping call in a greenthread will help speed this up, and is perfectly fine since if the arping fails for some reason it will still log an error, just asynchronously.

In addition to floating IP assignment, this also applies to any other address assigned to the external interface of a router.

Changed in neutron:
assignee: nobody → Brian Haley (brian-haley)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/49063

Changed in neutron:
status: New → In Progress
Changed in neutron:
importance: Undecided → Medium
tags: added: havana-rc-potential l3-ipam-dhcp
Changed in neutron:
assignee: Brian Haley (brian-haley) → Mark McClain (markmcclain)
Changed in neutron:
assignee: Mark McClain (markmcclain) → Brian Haley (brian-haley)
Thierry Carrez (ttx)
tags: added: havana-potential-potential
removed: havana-rc-potential
tags: added: havana-backport-potential
removed: havana-potential-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/49063
Committed: http://github.com/openstack/neutron/commit/3bcc64cf108e6a3999ab803d3c7625eb4f66843e
Submitter: Jenkins
Branch: master

commit 3bcc64cf108e6a3999ab803d3c7625eb4f66843e
Author: Brian Haley <email address hidden>
Date: Fri Sep 27 10:57:40 2013 -0400

    Spawn arping in thread to speed-up floating IP

    Change _send_gratuitous_arp_packet() to spawn a thread to call
    arping after a floating IP is assigned. This way it doesn't
    stall _process_routers() from returning quickly due to calling
    pool.waitall().

    Fixes Bug: 1233391

    Change-Id: Id1f5eb75c222ba6a0935a294e3973292f50d0559

Changed in neutron:
status: In Progress → Fix Committed
Changed in neutron:
milestone: none → icehouse-1
Thierry Carrez (ttx)
Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: icehouse-1 → 2014.1
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.