]> 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)
committerMark McClain <mmcclain@yahoo-inc.com>
Wed, 5 Feb 2014 06:38:05 +0000 (01:38 -0500)
commit5e6e592132aa9a98936ce3bfdb66efc7832caafb
tree8af10fea90af7e56b88799464253f392117aaf25
parent41badfbdcab1bc23264d905633abe96612ab01b6
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