yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #79468
[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