Bug 1329012 - [RFE] Document Proper Usage of Linux Bonds Intead of OVS Bonds
Summary: [RFE] Document Proper Usage of Linux Bonds Intead of OVS Bonds
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: documentation
Version: 8.0 (Liberty)
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: ---
Assignee: Dan Macpherson
QA Contact: RHOS Documentation Team
: 1310982 (view as bug list)
Depends On:
TreeView+ depends on / blocked
Reported: 2016-04-20 22:42 UTC by Dan Sneddon
Modified: 2016-06-10 01:57 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Last Closed: 2016-06-10 01:57:33 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1267291 None CLOSED [Openvswitch] balance-tcp bond mode causing issues with OSP Deployments 2018-11-29 16:10:11 UTC

Description Dan Sneddon 2016-04-20 22:42:26 UTC
Description of problem:

The original design goal behind using OVS as the bonding mechanism in TripleO was simplicity: since OVS was being used for bridging, adding bonding support directly to the OVS bridge made sense.

Unfortunately, in a few large-scale deployments with high traffic, packet loss has been observed in OVS bonds using LACP.

To counteract this behavior, support was added to TripleO to support Linux kernel-mode bonds, which are not susceptible to packet loss at scale.

When using OVS bonds, an OVS bridge is required. This necessitated the use of a bridge even on the storage nodes, where this wouldn't be required if using kernel bonds.

Now that we have the option of using kernel-mode bonds, we recommend this in most cases, unless an OVS-specific bonding mode is required (although different packet loss issues have occurred when using balance-slb mode bonds, see https://bugzilla.redhat.com/show_bug.cgi?id=1289962).

Actual results:
The sample bonding templates included with OSP 8 are configured for OVS bonds.

Expected results:
The proper use of Linux bonds should be properly documented, and we should provide equivalent sample templates that show the optimum use of Linux bonds.

Additional info:
The following applies when using Linux bonds instead of OVS bonds:

  * Bond interfaces use "linux_bond" instead of "ovs_bond" for the type:
  * Templates use "bonding_options" instead of "ovs_options" for the bond options
  * Linux kernel bonding options have a different form, such as "mode=802.3ad" to indicate LACP bonding.  For more info, see https://www.kernel.org/doc/Documentation/networking/bonding.txt
  * Bridges must still be used for interfaces used for Neutron tenant or provider VLANs, or for SNAT/Floating IPs, whether or not bonding is used on a particular interface. These bridges can be OVS bridges or Linux bridges, but OVS bridges provide more features.

Comment 2 Dan Sneddon 2016-04-20 22:42:45 UTC
*** Bug 1310982 has been marked as a duplicate of this bug. ***

Comment 3 Dan Macpherson 2016-04-29 06:04:11 UTC
Hi Dan,

I updated the network iso section to include linux_bridge and linux_bond options:


I've also included links to the kernel bond params in Red Hat Enterprise Linux 7 Networking Guide.

Was this what you were after? Let me know if there's anything else I should add.

Comment 4 Dan Macpherson 2016-06-10 01:57:33 UTC
No response in over a month. Closing this BZ. However, if further changes are required, please feel free to reopen this BZ.

Note You need to log in before you can comment on or make changes to this bug.