← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1658019] Re: ovs_lib.OVSBridge.delete_flows does not delete flows when called with no args

 

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

commit fcde09462da78fdc6e2fc886a164abf6fb60fefe
Author: Thomas Morin <thomas.morin@xxxxxxxxxx>
Date:   Fri Jan 20 10:50:10 2017 +0100

    Fix OVSBridge.delete_flows when called with no args
    
    With this change calling delete_flows with no kwargs will (instead
    of resulting in calling "ovs-ofctl <action> <bridge> -", which does
    nothing with no flow spec given on stdin) result in calling
    "ovs-ofctl <action> <bridge>", which will delete all flows.
    
    This aligns the behavior of delete_flows with the behavior currently seen by
    all callers for the same method shadowed by the implementations in
    OpenFlowSwitchMixin classes.
    
    Change-Id: Ic0449acb3a0d4915ce025300d6f3c507a3cd8e48
    Closes-Bug: 1658019


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1658019

Title:
  ovs_lib.OVSBridge.delete_flows does not delete flows when called with
  no args

Status in neutron:
  Fix Released

Bug description:
  ovs_lib.OVSBridge.delete_flows does not delete flows when called with
  no args, because in that case ovs-ofctl is called as "ovs-ofctl del-
  flows <bridge-name> -" [2] and nothing is provided on stdin, which is
  not interpreted by ovs-fctl as delete all flows [3].

  The issue really is in OVSBridge.do_action_flows [4] and would impact
  mod_flows as well.

  This bug is currently silent because there does not seem to be any
  code calling delete_flows() without arguments on an OVSBridge instance
  ; existing code uses bridges inheriting from OpenFlowSwitchMixin which
  shadow the problematic implementation in ovs_lib.OVSBridge.

  
  [1] https://github.com/openstack/neutron/blob/master/neutron/agent/common/ovs_lib.py#L310
  [2] https://github.com/openstack/neutron/blob/master/neutron/agent/common/ovs_lib.py#L302

  [3] http://openvswitch.org/support/dist-docs/ovs-ofctl.8.txt

         [--bundle] del-flows switch
         [--bundle] [--strict] del-flows switch [flow]
         [--bundle] [--strict] del-flows switch - < file
                Deletes entries from switch's flow table.  With  only  a  switch
                argument,  deletes  all  flows.  Otherwise, deletes flow entries
                that match the specified flows.  With  --strict,  wildcards  are
                not treated as active for matching purposes.

  [4]
  https://github.com/openstack/neutron/blob/master/neutron/agent/common/ovs_lib.py#L296

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1658019/+subscriptions


References