Comment 13 for bug 1329546

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/icehouse)

Reviewed: https://review.openstack.org/108991
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=231010bdf22a30b2034d8221048c958544f19547
Submitter: Jenkins
Branch: stable/icehouse

commit 231010bdf22a30b2034d8221048c958544f19547
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
    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 90fedbe44ca6bfccce5d71465532fbdc85ee3814)