Description of problem: VLANs cannot be added to existing bond interfaces configured in Mode 1 (Active-Standby) if the option "fail_over_mac=active" is set. The function _ifup_vlan_with_slave_bond_hwaddr_sync is called to check the MAC address of the slaves, and an error is returned as when this parameter is set the slaves have different MAC addresses. This is actually not an error, it is just the way the active MAC address failover works. MainProcess|jsonrpc/4::ERROR::2020-02-07 09:43:12,809::supervdsm_server::103::SuperVdsm.ServerCallback::(wrapper) Error in setupNetworks Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/vdsm/supervdsm_server.py", line 101, in wrapper res = func(*args, **kwargs) File "/usr/lib/python2.7/site-packages/vdsm/network/api.py", line 228, in setupNetworks _setup_networks(networks, bondings, options, net_info) File "/usr/lib/python2.7/site-packages/vdsm/network/api.py", line 249, in _setup_networks networks, bondings, options, net_info, in_rollback) File "/usr/lib/python2.7/site-packages/vdsm/network/netswitch/configurator.py", line 139, in setup _setup(networks, bondings, options, in_rollback, net_info) File "/usr/lib/python2.7/site-packages/vdsm/network/netswitch/configurator.py", line 157, in _setup legacy_nets, legacy_bonds, options, net_info, in_rollback) File "/usr/lib/python2.7/site-packages/vdsm/network/netswitch/configurator.py", line 200, in _setup_legacy bondings, _netinfo) File "/usr/lib/python2.7/site-packages/vdsm/network/legacy_switch.py", line 433, in add_missing_networks _add_network(network, configurator, _netinfo, bondattr, **attrs) File "/usr/lib/python2.7/site-packages/vdsm/network/legacy_switch.py", line 168, in wrapped return func(network, configurator, net_info, bondattr, **kwargs) File "/usr/lib/python2.7/site-packages/vdsm/network/legacy_switch.py", line 224, in _add_network net_ent_to_configure.configure(**options) File "/usr/lib/python2.7/site-packages/vdsm/network/models.py", line 189, in configure self.configurator.configureBridge(self, **opts) File "/usr/lib/python2.7/site-packages/vdsm/network/configurators/ifcfg.py", line 113, in configureBridge bridge.port.configure(**opts) File "/usr/lib/python2.7/site-packages/vdsm/network/models.py", line 145, in configure self.configurator.configureVlan(self, **opts) File "/usr/lib/python2.7/site-packages/vdsm/network/configurators/ifcfg.py", line 125, in configureVlan Ifcfg._ifup_vlan_with_slave_bond_hwaddr_sync(vlan) File "/usr/lib/python2.7/site-packages/vdsm/network/configurators/ifcfg.py", line 429, in _ifup_vlan_with_slave_bond_hwaddr_sync 'whith its slaves.'.format(vlan.name, vlan.device.name)) ConfigNetworkError: (25, 'While adding vlan bond_vm.853 over bond bond_vm, the bond hwaddr was not in sync whith its slaves.') Version-Release number of selected component (if applicable): 4.30.40 How reproducible: Always Steps to Reproduce: 1. Createe a mode 1 bond interface with custom options and set fail_over_mac=active 2. Try to attach a network (VLAN) to this bond interface 3. Actual results: Operation is cancelled with "Error while executing action HostSetupNetworks: Invalid Bonding definition" Expected results: VLAN (network) is added to the bond without issues Additional info: Current workaround is to remove the bond, create it as standard mode 1 without custom options, add all the VLANs, and then add the fail_over_mac=active option afterwards. However this is not practical and not even an option with significant number of VLANs.
Should be retested with nmstate 0.2.6
Verified on - nmstate-0.2.6-1.el8.noarch vdsm-4.40.2-1.el8ev.x86_64 NetworkManager-1.22.8-1.el8.x86_64
This bugzilla is included in oVirt 4.4.0 release, published on May 20th 2020. Since the problem described in this bug report should be resolved in oVirt 4.4.0 release, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report.