]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Process port_update notifications in the main agent loop
authorSalvatore Orlando <salv.orlando@gmail.com>
Thu, 12 Dec 2013 14:02:13 +0000 (06:02 -0800)
committerThomas Goirand <thomas@goirand.fr>
Thu, 13 Mar 2014 07:20:15 +0000 (15:20 +0800)
commitaf1082c2165c8edf9bbb38e2e90ac494f96b91f8
tree80d1fee850a86d4679deb4569c8e9607a1986782
parent35d93e31f3a5ebe0fe792c5bb8c00ad42e59d357
Process port_update notifications in the main agent loop

Instead of processing a port update notification directly in
the RPC call, the actual processing is moved into the main
rpc loop, whereas the RPC call just adds the updated port
identifier to a set of updated ports.
In this way, a port_update notification won't compete with the
main rpc loop, causing long delays into its completion under
heavy load. Also, repeated port_update notifications received
within a single iteration of the main agent loop will be
coalesced and processed only once.
This will also avoid the risk of processing notifications out
of order thus ending up with an actual configuration which
differs from the desired one.

This patch still performs L2 wiring for updated ports even if
it is necessary only when the administrative state of a port
changes.

The update_ports method has been renamed to scan_ports as the latter
name appears to be more in line with what the method actually does.

Partial-Bug: #1253993
Partially implements blueprint: neutron-tempest-parallel
Change-Id: I219c6bdf63b0b5e945b655677f9e28fa591f03cd
neutron/plugins/openvswitch/agent/ovs_neutron_agent.py
neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py
neutron/tests/unit/openvswitch/test_ovs_tunnel.py