ovs_bridge native doesn't reraise RuntimeError if _get_dp_by_dpid fails

Bug #1718235 reported by Jakub Libosvar
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Undecided
Jakub Libosvar

Bug Description

Typically DPID starts with zeros while code trims the prefixed zeros and then comparison fails masking the real OVS failure.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/505316

Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/505316
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=d739d01b6c98e082127af8fa6d4130e854ff413d
Submitter: Jenkins
Branch: master

commit d739d01b6c98e082127af8fa6d4130e854ff413d
Author: Jakub Libosvar <email address hidden>
Date: Tue Sep 19 15:54:56 2017 +0000

    of_native: Use int for comparing datapath ID

    Previously, DP ID was converted to integer and then back to string. As a
    consequence of the conversion, DP IDs like 000123 were converted to 123
    losing leading zeros. In case self._get_dp_by_dpid() method raises a
    RuntimeError exception current DP ID of the bridge was compared to
    cached DP ID and if IDs were different, original exception coming from
    ryu library was swallowed. As conversion for cached DP ID removes
    leading zeros, original exception was always swallowed if bridge's DP ID
    started with zero.

    This patch uses the integer for comparison between current and cached
    bridge DP ID hence any exception coming from ryu is not swallowed.

    Closes-bug: #1718235

    Change-Id: I445aa61acc758b56c51a9403df4d92d9c1d40ace

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/508282

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

Reviewed: https://review.openstack.org/508282
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=fc827a3a6163a9ff2f09ec47793337ab0e5ffa13
Submitter: Jenkins
Branch: stable/pike

commit fc827a3a6163a9ff2f09ec47793337ab0e5ffa13
Author: Jakub Libosvar <email address hidden>
Date: Tue Sep 19 15:54:56 2017 +0000

    of_native: Use int for comparing datapath ID

    Previously, DP ID was converted to integer and then back to string. As a
    consequence of the conversion, DP IDs like 000123 were converted to 123
    losing leading zeros. In case self._get_dp_by_dpid() method raises a
    RuntimeError exception current DP ID of the bridge was compared to
    cached DP ID and if IDs were different, original exception coming from
    ryu library was swallowed. As conversion for cached DP ID removes
    leading zeros, original exception was always swallowed if bridge's DP ID
    started with zero.

    This patch uses the integer for comparison between current and cached
    bridge DP ID hence any exception coming from ryu is not swallowed.

    Closes-bug: #1718235

    Conflicts:
          neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/openflow/native/test_ovs_bridge.py

    Change-Id: I445aa61acc758b56c51a9403df4d92d9c1d40ace
    (cherry picked from commit d739d01b6c98e082127af8fa6d4130e854ff413d)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 12.0.0.0b1

This issue was fixed in the openstack/neutron 12.0.0.0b1 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 11.0.2

This issue was fixed in the openstack/neutron 11.0.2 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.