Bug 1800592 - VLANs cannot be added to existing bond interfaces configured in Mode 1 (Active-Standby) if the option "fail_over_mac=active" is set
Summary: VLANs cannot be added to existing bond interfaces configured in Mode 1 (Activ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: vdsm
Classification: oVirt
Component: SuperVDSM
Version: 4.30.40
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ovirt-4.4.0
: ---
Assignee: Martin Perina
QA Contact: Michael Burman
URL:
Whiteboard:
Depends On: 1801798
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-02-07 13:36 UTC by Marco Fais
Modified: 2020-05-20 20:00 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-05-20 20:00:11 UTC
oVirt Team: Network
Embargoed:
mperina: ovirt-4.4?


Attachments (Terms of Use)

Description Marco Fais 2020-02-07 13:36:12 UTC
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.

Comment 1 Michael Burman 2020-02-25 08:57:26 UTC
Should be retested with nmstate 0.2.6

Comment 2 Michael Burman 2020-02-27 08:46:03 UTC
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

Comment 3 Sandro Bonazzola 2020-05-20 20:00:11 UTC
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.


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