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.
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 90fedbe44ca6bfccce5d71465532fbdc85ee3814)
(cherry picked from commit 231010bdf22a30b2034d8221048c958544f19547)
Reviewed: https:/ /review. openstack. org/115984 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=3c44da1a968 d157eeea7677b39 d5d9f9d84365c7
Committed: https:/
Submitter: Jenkins
Branch: stable/havana
commit 3c44da1a968d157 eeea7677b39d5d9 f9d84365c7
Author: Salvatore Orlando <email address hidden>
Date: Sat Jul 5 09:17:54 2014 -0700
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 devices_ added_or_ updated will raise in this case and the network_ ports.
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_
exception will be handled in process_
For the sake of consistency, this patch also updates the _devices_ added in order to
similar function treat_ancillary
use the same logic.
Finally, this patch amends an innaccurate related comment.
Closes-Bug: #1329546
Conflicts: plugins/ openvswitch/ agent/ovs_ neutron_ agent.py tests/unit/ openvswitch/ test_ovs_ neutron_ agent.py
neutron/
neutron/
Required changes: devices_ details_ list is not available in Icehouse.
- 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_
- fixed E128 violation in the backported code.
Additional changes in Havana: devices_ added_or_ updated( ) since it's not present in Havana. pool_with_ down_agent that fails in gate.
- modified patch not to pass ovs_restarted argument into
treat_
- disabled test_schedule_
Change-Id: Icc744f32494c7a 76004ff16153631 6924594fbdb cce5d71465532fb dc85ee3814) 2034d8221048c95 8544f19547)
(cherry picked from commit 90fedbe44ca6bfc
(cherry picked from commit 231010bdf22a30b