https://blueprints.launchpad.net/fuel/+spec/support-infiniband-network
In Fuel 5.1, support for Mellanox high performance Ethernet virtualization and storage features has been added.
Starting with version 6.0, Fuel supports a Pluggable architecture.
This blueprint suggests to publish interface driver and networks allocation data, for new network / interface oriented features. This will also ease the process of exporting core functionality of partners into plugins and allowing them to access the required nodes model information.
Moreover, this blueprint describes Mellanox Infiniband drivers installation for the bootstrap discovery stage.
InfiniBand (abbreviated IB) is a computer network communications link used in high-performance computing featuring very high throughput and very low latency.
There are two main problems that this blueprint suggests to solve:
Currently in Fuel, Installation over Infiniband mode is not supported, and in particular bootstrap discovery and network verification over infiniband based network.
Some of the high performance computing users, prefer to use Infinband due to its highest throughput and lowest latency preferences.
A POC ISO already exists, and shows significant performance improvement from the 56Gb Ethernet solution.
Adding Infiniband network support will allow users use IPOIB Virtual Functions with higher performance, and will bring them closer to the wire speed.
Network interfaces information, that was accessible via the nodes model in Fuel web serializers, is now missing, for implementing network oriented plugins.
Moreover, in this blueprint, extensive network information publishment will be added, such as discovering port bus ID and vendor drivers information. This will allow to add more vendor and network based features.
Support nodes discovery over a prepared Infiniband network via Fuel (with a running and pre-configured switch IB and Subnet Manager).
The change should be transparent to users that already knows how to install Mellanox components via Fuel installer, and be as standard as possible, without harming the Infiniband performance.
The Fuel master will discover and use EIPOIB (Ethernet IP Over InfiniBand) interfaces for the network roles.
In the complementary Fuel plugin for Infiniband, OVS will run over EIPOIB interfaces that was discovered in the bootstrap stage.
Infiniband interfaces (IPOIB) will be used only for RDMA (Remote Direct Memory Access), and for the guests Virtual Functions (Virtual Interfaces) in case of SR-IOV.
The network mode will be calculated in the backend using the new interfaces driver data - “eth_ipoib” for Infiniband or “mlx4_en” for Ethernet (RoCE).
The main changes:
Packages:
Fuel-main (Bootstrap):
Fuel-web:
Adding bus_info and driver columns to the NIC model, as described at the proposed change section under Fuel-web.
The parameters ‘bus_info’ and ‘driver’ are added into REST responses for Node network interface parameters.
Upgrade impact in this case is more of Plugin upgrade impact, so it is out of scope in this spec.
None
None
Will add driver and bus_info parameter to the nailgun interfaces report (in the Fuel web UI).
No Such, but it will enable to support the Infiniband plugin that increases default OVS performance dramatically, and increase 56Gb link performance significantly from Eth mode, in VMs connection and Cinder volumes.
None
Adding driver and bus_info may enable Fuel developers to add new features based on the port vendor identification.
Packages:
Fuel-main (Bootstrap):
Fuel-web:
None