Bug 1966443

Summary: [RFE] ovs_options and bonding_options are both using BondInterfaceOvsOptions
Product: Red Hat OpenStack Reporter: Joachim von Thadden <j.thadden>
Component: openstack-tripleo-heat-templatesAssignee: Dan Sneddon <dsneddon>
Status: NEW --- QA Contact: Joe H. Rahme <jhakimra>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 16.1 (Train)CC: ekuris, hjensas, mburns, pweeks, ramishra, sbaker
Target Milestone: ---Keywords: FutureFeature, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Joachim von Thadden 2021-06-01 08:10:35 UTC
Description of problem:
We are using 2 different parameters ovs_options and bonding_options for ovs bond and linux bonds. So far so good. In our templates we fill those params with a single variable BondInterfaceOvsOptions, whether it's for ovs or for linux bonds. But the options for the 2 types of bonds are different, e.g.

for OVS:
  bond_mode=active-backup

for Linux bond:
  mode=active-backup

This is a problem for environments with both, linux and ovs bonds. In /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/role.role.j2.yaml we see:

$ grep -C2 "ovs_options\|bonding_options" /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/role.role.j2.yaml 
  BondInterfaceOvsOptions:
    default: bond_mode=active-backup
    description: 'The ovs_options or bonding_options string for the bond
      interface. Set things like lacp=active and/or bond_mode=balance-slb
      for OVS bonds or like mode=4 for Linux bonds using this option.'
--
                  mtu:
                    get_attr: [MinViableMtu, value]
                  ovs_options:
                    get_param: BondInterfaceOvsOptions
                  members:
--
                mtu:
                  get_attr: [MinViableMtu, value]
                bonding_options:
                  get_param: BondInterfaceOvsOptions
                use_dhcp: false

I would suggest a different variable BondInterfaceLinuxOptions to be used everywhere were we are using Linux bonds.


Version-Release number of selected component (if applicable):
I think it's in there since OSP12 or so?

How reproducible:
always

Steps to Reproduce:
1. create an env with ovs and linux bond
2. try to set different parameters for both of them


Actual results:
you have to define a new parameter e.g. BondInterfaceLinuxOptions by your own and set it in nic configs accordingly

Expected results:
BondInterfaceOvsOptions and BondInterfaceLinuxOptions are differentiated in the first place in our environment and jinja files.

Comment 1 Steve Baker 2021-06-01 20:15:49 UTC
Could you please describe the use case for having both ovs and linux bonds? I've also assigned this to Dan for some input, and flagged this as a feature request.

Comment 2 Joachim von Thadden 2021-06-02 11:08:52 UTC
Good question. You might have cases where you have linux bonds in one node and ovs bonds in the other - but only one parameter.

Comment 3 pweeks 2022-01-18 21:55:03 UTC
Moving to networking for triage and prioritization.