neutron/neutron
Salvatore Orlando 231010bdf2 Do not mark device as processed if it wasn't
Currently treat_devices_added_or_updated in the OVS agent skips
processing devices which disappeared from the integration bridge
during the agent loop.
This is fine, however the agent should not mark these devices as
processed. Otherwise they won't be processed, should they appear
again on the bridge.

This patch ensures these devices are not added to the current
device set.

The patch also changes treat_devices_added_or_updated. The
function now will return the list of skipped devices and not
anymore a flag signalling whether a resync is required.
With the current logic a resync would be required if retrieval
of device details fails. With this change, the function
treat_devices_added_or_updated will raise in this case and the
exception will be handled in process_network_ports.

For the sake of consistency, this patch also updates the
similar function treat_ancillary_devices_added in order to
use the same logic.

Finally, this patch amends an innaccurate related comment.

Closes-Bug: #1329546

Conflicts:
	neutron/plugins/openvswitch/agent/ovs_neutron_agent.py

Required changes:
- fetch all device details first before proceeding with handling ports
  to reflect Juno behaviour.
- unit test was modified to run with get_device_details since
  get_devices_details_list is not available in Icehouse.
- fixed E128 violation in the backported code.

Change-Id: Icc744f32494c7a76004ff161536316924594fbdb
(cherry picked from commit 90fedbe44c)
2014-07-23 15:35:47 +02:00
..
agent Merge "Metadata agent caches networks for routers" into stable/icehouse 2014-06-17 05:35:18 +00:00
api Hide ipv6 subnet API attributes 2014-04-08 19:36:00 -04:00
cmd remove binaries under bin 2013-08-16 10:10:30 +08:00
common netaddr<=0.7.10 raises ValueError instead of AddrFormatError 2014-06-23 00:26:46 +05:30
db Ensure core plugin deallocation after every test 2014-07-03 13:14:29 -07:00
debug options: consolidate options definitions 2014-02-24 13:25:11 +09:00
extensions no quota for allowed address pair 2014-07-17 23:33:02 +08:00
locale Fix Jenkins translation jobs 2014-04-07 11:37:38 +02:00
notifiers Replace loopingcall in notifier with a delayed send 2014-05-26 15:40:06 +03:00
openstack Synced jsonutils from oslo-incubator 2014-06-24 00:13:17 +02:00
plugins Do not mark device as processed if it wasn't 2014-07-23 15:35:47 +02:00
scheduler Fix DetachedInstanceError for Agent instance 2014-02-27 14:48:11 +00:00
server Adds multiple RPC worker processes to neutron server 2014-03-04 00:50:20 +00:00
services Merge "Do not defer IPTables apply in firewall path" into stable/icehouse 2014-06-17 05:30:00 +00:00
tests Do not mark device as processed if it wasn't 2014-07-23 15:35:47 +02:00
__init__.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
auth.py Return request-id in API response 2014-02-10 04:58:38 +09:00
context.py Stop logging unnecessary warning on context create 2013-11-28 09:17:18 +00:00
hooks.py Remove pyudev dependency 2014-02-25 14:28:35 +00:00
manager.py Ensure core plugin deallocation after every test 2014-07-03 13:14:29 -07:00
neutron_plugin_base_v2.py Add support for multiple RPC workers under Metaplugin 2014-04-24 15:50:53 +09:00
policy.py Replace binding:capabilities with binding:vif_details 2014-02-23 22:56:45 -05:00
quota.py Kill 'Skipping unknown group key: firewall_driver' log trace 2014-03-13 12:46:06 -07:00
service.py Add support for multiple RPC workers under Metaplugin 2014-04-24 15:50:53 +09:00
version.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
wsgi.py Merge "Fix webob.exc.HTTPForbidden parameter miss" 2014-03-02 19:05:50 +00:00