← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1532273] Re: DPDK: datapath_type not updated for physical and tunnel bridges

 

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

commit 71fa1820008b998809890c52b366c8acf9cb72a4
Author: Terry Wilson <twilson@xxxxxxxxxx>
Date:   Wed Jan 6 01:19:31 2016 -0600

    Make sure datapath_type is updated on bridges changed
    
    When changing datapath_type in the config, physical and tunnel bridges
    do not have their datapath_type updated. Calling create() on already
    created bridges should be safe as it passes '--may-exist' when adding
    the bridge, which will do nothing if the bridge already exists, but
    the second part of the transaction will still update things like
    datapath_type.
    
    It should be noted that ancillary bridges (like br-ex) are not
    modified by this patch as datapath_type was never applied to them to
    begin with.
    
    Incidentally, the native and vsctl versions behaved slightly
    differently when handling datapath_type: vsctl builds the multi-cmd
    transaction with add-br ... -- set ..., so that the second cmd would
    actually complete. The native just bailed if may_exist and the bridge
    existed. This is fixed as part of this patch.
    
    Change-Id: Ib8bc817c7bc724d80193d0ca7af480a7ea103f77
    Closes-Bug: 1532273


** 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/1532273

Title:
  DPDK: datapath_type not updated for physical and tunnel bridges

Status in neutron:
  Fix Released

Bug description:
  If neutron is originally run with datapath_type=system, then re-
  started after setting datapath_type=netdev, the physical and tunnel
  bridges' datapth_type is not updated. This is because
  OVSBridge.create() is not always called.

  In the tunnel bridge case, we only call create() if the bridge doesn't
  already exist. Since create() uses --may-exist, the bridge isn't
  recreated if it already exists so it should be safe to just call
  create().

  In the physical bridge case, we never call create() because the the
  physical bridges have to be created outside of neutron (and the code
  verifies that the bridge is created. In this case, calling create()
  after the check shouldn't affect anything other than the 'set'
  operations for things like datapath_type.

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


References