3c44da1a96
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 neutron/tests/unit/openvswitch/test_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. Additional changes in Havana: - modified patch not to pass ovs_restarted argument into treat_devices_added_or_updated() since it's not present in Havana. - disabled test_schedule_pool_with_down_agent that fails in gate. Change-Id: Icc744f32494c7a76004ff161536316924594fbdb (cherry picked from commit |
||
---|---|---|
.. | ||
etc | ||
functional | ||
unit | ||
var | ||
__init__.py | ||
base.py |