Same cookie value for br-tun flows rules added by OVS agent and its bagpipe_bgpvpn extension

Bug #1582598 reported by Przemyslaw JASEK
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
BaGPipe
Opinion
Undecided
Thomas Morin
networking-bgpvpn
Fix Released
High
Thomas Morin

Bug Description

Concerns:
- setup_mpls_br() module - bagpipe_bgp_agent.py [1]
- OVSBridgeIntercept() class - agent_extension.py [2]
- add_flow() module of OVSBridge() - ovs_lib.py [3]
- add_flow() module of OVSCookieBridge() - ovs_agent_extension_api.py [4]

To create new flow in br-tun BaGPipe agent (setup_mpls_br()) is supposed to call add_flow() of OVSCookieBridge() via OVSBridgeIntercept() class, but it does not reach it. I suppose instead it calls the add_flow() of OVSBridge() via OVSBridgeIntercept() parent class - OVSTunnelBridge().
Called module applies the '_default_cookie' value to newly created flows.

[1] https://github.com/openstack/networking-bagpipe/blob/master/networking_bagpipe/agent/bagpipe_bgp_agent.py
[2] https://github.com/openstack/networking-bgpvpn/blob/master/networking_bgpvpn/neutron/services/service_drivers/bagpipe/agent_extension.py
[3] https://github.com/openstack/neutron/blob/master/neutron/agent/common/ovs_lib.py
[4] https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_agent_extension_api.py

tags: added: mitaka-backport-potential
tags: added: bagpipe
Revision history for this message
Thomas Morin (tmmorin-orange) wrote :
Changed in bgpvpn:
assignee: nobody → Thomas Morin (tmmorin-orange)
status: New → In Progress
Changed in networking-bagpipe:
assignee: nobody → Thomas Morin (tmmorin-orange)
status: New → In Progress
status: In Progress → Opinion
Changed in bgpvpn:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-bgpvpn (master)

Reviewed: https://review.openstack.org/317600
Committed: https://git.openstack.org/cgit/openstack/networking-bgpvpn/commit/?id=ccc13f755b66c32757a1505a073ab5316642d3b2
Submitter: Jenkins
Branch: master

commit ccc13f755b66c32757a1505a073ab5316642d3b2
Author: Thomas Morin <email address hidden>
Date: Tue May 17 17:45:35 2016 +0200

    bagpipe: really use the extension-specific cookie

    The code in OVSBridgeIntercept was not behaving
    as intended:
    - the extension cookie was not applied as expected, even
      for the ofctl-based OVSTunnelBridge (interference with
      class inheritance, because __getattr__ does not let us
      override methods existing in a parent class,
      __getattribute__ has to be used instead)
    - the extension cookie would never have been applied
      for the native.OVSTunnelBridge that does not use add_flow

    This changes corrects the code and adds a test case.

    We also now import the neutron constants from neutron-lib.

    Change-Id: I779d7a8bf7fc31d936d1e401e4726711c8404ed2
    Closes-Bug: 1582598

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

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/322048

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-bgpvpn (stable/mitaka)

Reviewed: https://review.openstack.org/322048
Committed: https://git.openstack.org/cgit/openstack/networking-bgpvpn/commit/?id=abe26499aae8b4b875789c20a9825cd96b3e4b52
Submitter: Jenkins
Branch: stable/mitaka

commit abe26499aae8b4b875789c20a9825cd96b3e4b52
Author: Thomas Morin <email address hidden>
Date: Tue May 17 17:45:35 2016 +0200

    bagpipe: really use the extension-specific cookie

    The code in OVSBridgeIntercept was not behaving
    as intended:
    - the extension cookie was not applied as expected, even
      for the ofctl-based OVSTunnelBridge (interference with
      class inheritance, because __getattr__ does not let us
      override methods existing in a parent class,
      __getattribute__ has to be used instead)
    - the extension cookie would never have been applied
      for the native.OVSTunnelBridge that does not use add_flow

    This changes corrects the code and adds a test case.

    We also now import the neutron constants from neutron-lib.

    (cherry picked from commit ccc13f755b66c32757a1505a073ab5316642d3b2)

    Change-Id: I779d7a8bf7fc31d936d1e401e4726711c8404ed2
    Closes-Bug: 1582598

tags: added: in-stable-mitaka
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/networking-bgpvpn 4.0.1

This issue was fixed in the openstack/networking-bgpvpn 4.0.1 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/networking-bgpvpn 5.0.0

This issue was fixed in the openstack/networking-bgpvpn 5.0.0 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.