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.
*** Bug 1310982 has been marked as a duplicate of this bug. ***
Hi Dan, I updated the network iso section to include linux_bridge and linux_bond options: https://access.redhat.com/documentation/en/red-hat-openstack-platform/8/director-installation-and-usage/62-isolating-networks 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.
No response in over a month. Closing this BZ. However, if further changes are required, please feel free to reopen this BZ.