← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1834176] Re: [RFE] Neutron enhancements to support per-physnet and IPoIB interface drivers

 

Reviewed:  https://review.opendev.org/670723
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=0e80d2251e6b1cf8521418a703cff7cb149cb8e1
Submitter: Zuul
Branch:    master

commit 0e80d2251e6b1cf8521418a703cff7cb149cb8e1
Author: Adrian Chiris <adrianc@xxxxxxxxxxxx>
Date:   Sun Jul 14 11:08:31 2019 +0300

    Pass get_networks() callback to interface driver
    
    In order to support out of tree interface drivers it is required
    to pass a callback to allow the drivers to query information about
    the network.
    
    - Allow passing **kwargs to interface drivers
    - Pass get_networks() as `get_networks_cb` kw arg
      `get_networks_cb` has the same API as
      `neutron.neutron_plugin_base_v2.NeutronPluginBaseV2.get_networks()`
       minus the the request context which will be embeded in the callback
       itself.
    
    The out of tree interface drivers in question are:
    
    MultiInterfaceDriver - a per-physnet interface driver that delegates
                           operations on a per-physnet basis.
    IPoIBInterfaceDriver - an interface driver for IPoIB (IP over Infiniband)
                           networks.
    
    Those drivers are a part of networking-mlnx[1], Their implementation
    is vendor agnostic so they can later be moved to a more common place
    if desired.
    
    [1] https://github.com/openstack/networking-mlnx
    
    Change-Id: I74d9f449fb24f64548b0f6db4d5562f7447efb25
    Closes-Bug: #1834176


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

Title:
  [RFE] Neutron enhancements to support per-physnet and IPoIB interface
  drivers

Status in neutron:
  Fix Released

Bug description:
  Networking-mlnx will add support for the following interface drivers:

  IPoIBInterfaceDriver - An interface driver to plug/unplug IPoIB interfaces.
                         This driver will allow Neutron's DHCP and L3 agents to
                         provide Routing and DHCP functionality on IP over
                         Infiniband networks[1]

  MultiInterfaceDriver - An interface driver that (as the name suggests) supports
                         multiple interface drivers. It delegates the operations to
                         drivers on a per-physnet basis. This driver enable L3 and
                         DHCP agents to provide DHCP and Routing functionalities on
                         a per physnet basis allowing the same agent to provide
                         DHCP/Routing for both ethernet and infiniband based
                         physnets.

  Relevant commits in netwokring-mlnx can be found here[2]

  For these drivers to integrate with Neutron, some minimal changes are
  required in neutron codebase.

  1. Add interface kind property to `ip_lib.IPDevice` to
     express the type of interface created by an interface driver

  2. Add get_networks() RPC to L3 and DHCP agent

  3. Pass get_networks() as kwarg to interface driver constructor.

  Relevant commits for neutron can be found here[3]

  It should be noted that both interface drivers are vendor agnostic.
  If there will be community interest in enabling IP networks over Infiniband fabric. The defined interface drivers can be moved to a common place.

  This RFE was repurposed from its original version in accordance to the
  neutron drivers meeting from 12.07.2019[4]

  [1] https://tools.ietf.org/html/rfc4390 - DHCP over infiniband
      https://tools.ietf.org/html/rfc4391 - Transmission of IPoIB
      https://tools.ietf.org/html/rfc4392 - IPoIB
  [2] https://review.opendev.org/#/c/670724
  [3] https://review.opendev.org/#/c/670723
  [4] http://eavesdrop.openstack.org/irclogs/%23openstack-meeting/%23openstack-meeting.2019-07-12.log.html#t2019-07-12T14:00:07

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


References