Bug 1114558
| Summary: | BOND slave get higher MTU if BOND has previous higher MTU value | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Virtualization Manager | Reporter: | Meni Yakove <myakove> | ||||
| Component: | vdsm | Assignee: | Antoni Segura Puimedon <asegurap> | ||||
| Status: | CLOSED NEXTRELEASE | QA Contact: | Meni Yakove <myakove> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | 3.4.0 | CC: | acathrow, bazulay, gklein, iheim, lpeer, nyechiel, Rhev-m-bugs, yeylon | ||||
| Target Milestone: | --- | Keywords: | Regression, Triaged | ||||
| Target Release: | 3.5.0 | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | network | ||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2014-07-10 23:38:04 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | Network | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
This is mostly a summary of setupNetworks commands in vdsm.log:
First one example in which first we set bond0 with nics [eth2, eth3] and mtu
9000 and then we break the bond and set those nics on a bonded network with
mtu 5000, but with bond1. So, changing which bonding name we use.
Create network with bond0{eth2, eth3} mtu=9000
Thread-14::DEBUG::2014-06-29 16:03:01,312::BindingXMLRPC::1067::vds::(wrapper)
client [10.35.163.63]::call setupNetworks with
({'sw162': {
'bonding': 'bond0',
'vlan': '201',
'STP': 'no',
'bridged': 'true',
'mtu': '9000'}}, <-------------------
{'bond0': {
'nics': ['eth2', 'eth3'],
'options': 'mode=1'}},
{'connectivityCheck': 'true',
'connectivityTimeout': 60})
{} flowID [cb9d4174-4880-4c09_sendSNRequest_syncAction]
Thread-14::DEBUG::2014-06-29 16:03:04,981::BindingXMLRPC::1074::vds::(wrapper)
return setupNetworks with {'status': {'message': 'Done', 'code': 0}}
After this, the relevant mtus are:
'networks': {
'sw162': {
'iface': 'sw162',
'addr': '',
'cfg': {
'DEFROUTE': 'no',
'HOTPLUG': 'no',
'MTU': '9000', <-------------------
'DELAY': '0',
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'sw162',
'TYPE': 'Bridge',
'ONBOOT': 'yes'},
'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'],
'gateway': '',
'netmask': '',
'stp': 'off',
'bridged': True,
'mtu': '9000', <-------------------
'ipv6gateway': '::',
'ports': ['bond0.201']}},
'bridges': {
sw162': {
'addr': '',
'cfg': {
'DEFROUTE': 'no',
'HOTPLUG': 'no',
'MTU': '9000', <-------------------
'DELAY': '0',
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'sw162',
'TYPE': 'Bridge',
'ONBOOT': 'yes'},
'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'],
'mtu': '9000', <-------------------
'netmask': '',
'stp': 'off',
'ipv6gateway': '::',
'gateway': '',
'ports': ['bond0.201']}},
'nics': {
'eth3': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'SLAVE': 'yes',
'NM_CONTROLLED': 'no',
'MTU': '9000', <-------------------
'HWADDR': '00:1b:21:d0:bb:4b',
'MASTER': 'bond0',
'DEVICE': 'eth3',
'STP': 'no',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'permhwaddr': '00:1B:21:D0:BB:4B',
'speed': 0,
'mtu': '9000'}, <-------------------
'eth2': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'SLAVE': 'yes',
'NM_CONTROLLED': 'no',
'MTU': '9000', <-------------------
'HWADDR': '00:1b:21:d0:bb:4a',
'MASTER': 'bond0',
'DEVICE': 'eth2',
'STP': 'no',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'permhwaddr': '00:1B:21:D0:BB:4A',
'speed': 0,
'mtu': '9000'}}, <-------------------
'bondings': {
'bond0': {
'netmask': '',
'addr': '',
'slaves': ['eth2', 'eth3'],
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'HOTPLUG': 'no',
'MTU': '9000', <-------------------
'NM_CONTROLLED': 'no',
'STP': 'no',
'BONDING_OPTS': 'mode=1',
'DEVICE': 'bond0',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'mtu': '9000'}, <-------------------
},
'vlans': {
'bond0.201': {
'netmask': '',
'iface': 'bond0',
'addr': '',
'cfg': {
'BRIDGE': 'sw162',
'VLAN': 'yes',
'HOTPLUG': 'no',
'MTU': '9000', <-------------------
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'bond0.201',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'vlanid': 201,
'mtu': '9000'}}, <-------------------
Remove the network and the bond:
Thread-14::DEBUG::2014-06-29 16:03:11,060::BindingXMLRPC::1067::vds::(wrapper)
client [10.35.163.63]::call setupNetworks with
({'sw162': {'remove': 'true'}},
{'bond0': {'remove': 'true'}},
{'connectivityCheck': 'true',
'connectivityTimeout': 60})
{} flowID [c1292f46-1c19-413d_sendSNRequest_syncAction]
Thread-14::DEBUG::2014-06-29 16:03:14,589::BindingXMLRPC::1074::vds::(wrapper)
return setupNetworks with {'status': {'message': 'Done', 'code': 0}}
After this, the relevant mtus are:
'networks': {},
'bridges': {},
'nics': {
'eth3': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4b',
'cfg': {
'DEVICE': 'eth3',
'HWADDR': '00:1b:21:d0:bb:4b',
'ONBOOT': 'yes',
'MTU': '1500'}, <-------------------
'ipv6addrs': [],
'speed': 0,
'mtu': '1500'}, <-------------------
'eth2': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'DEVICE': 'eth2',
'HWADDR': '00:1b:21:d0:bb:4a',
'ONBOOT': 'yes',
'MTU': '1500'}, <-------------------
'ipv6addrs': [],
'speed': 0,
'mtu': '1500'}}, <-------------------
'bondings': {
'bond0': {
'netmask': '',
'addr': '',
'slaves': [],
'hwaddr': '00:00:00:00:00:00',
'cfg': {},
'ipv6addrs': [],
'mtu': '9000'}}, <-------------------
'vlans': {},
As we can see, the nics returned to the default mtu value (1500) but bond0
remained with a 9000 value.
Create a network with mtu 5000 using the same nics in a bond:
Thread-14::DEBUG::2014-06-29 16:03:18,580::BindingXMLRPC::1067::vds::(wrapper)
client [10.35.163.63]::call setupNetworks with
({'sw162': {
'bonding': 'bond1',
'vlan': '201',
'STP': 'no',
'bridged': 'true',
'mtu': '5000'}}, <-------------------
{'bond1': {
'nics': ['eth2', 'eth3'],
'options': 'mode=1'}},
{'connectivityCheck': 'true',
'connectivityTimeout': 60})
{} flowID [c508da20-a094-4718_sendSNRequest_syncAction]
Thread-14::DEBUG::2014-06-29 16:03:22,139::BindingXMLRPC::1074::vds::(wrapper)
return setupNetworks with {'status': {'message': 'Done', 'code': 0}}
After this, the relevant mtus are:
'networks': {
'sw162': {
'iface': 'sw162',
'addr': '',
'cfg': {
'DEFROUTE': 'no',
'HOTPLUG': 'no',
'MTU': '5000', <-----------------
'DELAY': '0',
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'sw162',
'TYPE': 'Bridge',
'ONBOOT': 'yes'},
'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'],
'gateway': '',
'netmask': '',
'stp': 'off',
'bridged': True,
'mtu': '5000', <-----------------
'ipv6gateway': '::',
'ports': ['bond1.201']}},
'bridges': {
'sw162': {
'addr': '',
'cfg': {
'DEFROUTE': 'no',
'HOTPLUG': 'no',
'MTU': '5000', <-----------------
'DELAY': '0',
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'sw162',
'TYPE': 'Bridge',
'ONBOOT': 'yes'},
'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'],
'mtu': '5000', <-----------------
'netmask': '',
'stp': 'off',
'ipv6gateway': '::',
'gateway': '',
'ports': ['bond1.201']}},
'nics': {
'eth3': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'SLAVE': 'yes',
'NM_CONTROLLED': 'no',
'MTU': '5000', <-----------------
'HWADDR': '00:1b:21:d0:bb:4b',
'MASTER': 'bond1',
'DEVICE': 'eth3',
'STP': 'no',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'permhwaddr': '00:1B:21:D0:BB:4B',
'speed': 0,
'mtu': '5000'}, <-----------------
'eth2': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'SLAVE': 'yes',
'NM_CONTROLLED': 'no',
'MTU': '5000', <-----------------
'HWADDR': '00:1b:21:d0:bb:4a',
'MASTER': 'bond1',
'DEVICE': 'eth2',
'STP': 'no',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'permhwaddr': '00:1B:21:D0:BB:4A',
'speed': 0,
'mtu': '5000'}}, <-----------------
'bondings': {
'bond1': {
'netmask': '',
'addr': '',
'slaves': ['eth2', 'eth3'],
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'HOTPLUG': 'no',
'MTU': '5000', <-----------------
'NM_CONTROLLED': 'no',
'STP': 'no',
'BONDING_OPTS': 'mode=1',
'DEVICE': 'bond1',
'ONBOOT': 'yes'},
'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'],
'mtu': '5000'}}, <-----------------
'vlans': {
'bond1.201': {
'netmask': '',
'iface': 'bond1',
'addr': '',
'cfg': {
'BRIDGE': 'sw162',
'VLAN': 'yes',
'HOTPLUG': 'no',
'MTU': '5000', <-----------------
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'bond1.201',
'ONBOOT': 'yes'},
'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'],
'vlanid': 201,
'mtu': '5000'}}, <-----------------
From what I can see, the mtus are right, all of them 5000 (while bond0 stayed
at 9000).
Now, for the reported part of the log:
Thread-14::DEBUG::2014-06-30 12:15:28,843::BindingXMLRPC::1067::vds::(wrapper)
client [10.35.163.63]::call setupNetworks with
({'mtu9000': {
'bonding':
'bond0',
'vlan': '162',
'STP': 'no',
'bridged': 'true',
'mtu': '9000'}}, <-----------------
{'bond0': {
'nics': ['eth3', 'eth2'],
'options': 'mode=1 miimon=100'}},
{'connectivityCheck': 'true',
'connectivityTimeout': 120})
{} flowID [e5ce120]
Thread-14::DEBUG::2014-06-30 12:15:32,523::BindingXMLRPC::1074::vds::(wrapper)
return setupNetworks with {'status': {'message': 'Done', 'code': 0}}
And the reported relevant mtus are:
networks': {
'mtu9000': {
'iface': 'mtu9000',
'addr': '',
'cfg': {
'DEFROUTE': 'no',
'HOTPLUG': 'no',
'MTU': '9000', <-----------------
'DELAY': '0',
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'mtu9000',
'TYPE': 'Bridge',
'ONBOOT': 'yes'},
'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'],
'gateway': '',
'netmask': '',
'stp': 'off',
'bridged': True,
'mtu': '9000', <-----------------
'ipv6gateway': '::',
'ports': ['bond0.162']}},
'bridges': {
'mtu9000': {
'addr': '',
'cfg': {
'DEFROUTE': 'no',
'HOTPLUG': 'no',
'MTU': '9000', <-----------------
'DELAY': '0',
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'mtu9000',
'TYPE': 'Bridge',
'ONBOOT': 'yes'},
'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'],
'mtu': '9000', <-----------------
'netmask': '',
'stp': 'off',
'ipv6gateway': '::',
'gateway': '',
'ports': ['bond0.162']}},
'nics': {
'eth3': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'SLAVE': 'yes',
'NM_CONTROLLED': 'no',
'MTU': '9000', <-----------------
'HWADDR': '00:1b:21:d0:bb:4b',
'MASTER': 'bond0',
'DEVICE': 'eth3',
'STP': 'no',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'permhwaddr': '00:1B:21:D0:BB:4B',
'speed': 0,
'mtu': '9000'}, <-----------------
'eth2': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'SLAVE': 'yes',
'NM_CONTROLLED': 'no',
'MTU': '9000', <-----------------
'HWADDR': '00:1b:21:d0:bb:4a',
'MASTER': 'bond0',
'DEVICE': 'eth2',
'STP': 'no',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'permhwaddr': '00:1B:21:D0:BB:4A',
'speed': 0,
'mtu': '9000'}, <-----------------
'eth1': , 'eth0': },
'bondings': {
'bond0': {
'netmask': '',
'addr': '',
'slaves': ['eth2', 'eth3'],
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'HOTPLUG': 'no',
'MTU': '9000', <-----------------
'NM_CONTROLLED': 'no',
'STP': 'no',
'BONDING_OPTS': 'mode=1 miimon=100',
'DEVICE': 'bond0',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'mtu': '9000'}}, <-----------------
'vlans': {
'bond0.162': {
'netmask': '',
'iface': 'bond0',
'addr': '',
'cfg': {
'BRIDGE': 'mtu9000',
'VLAN': 'yes',
'HOTPLUG': 'no',
'MTU': '9000', <-----------------
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'bond0.162',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'vlanid': 162,
'mtu': '9000'}}, <-----------------
Everything is as expected, all the mtus are 9000
Now the bond removal:
Thread-14::DEBUG::2014-06-30 12:19:46,782::BindingXMLRPC::1067::vds::(wrapper)
client [10.35.163.63]::call setupNetworks with
({'mtu9000': {'remove': 'true'}},
{'bond0': {'remove': 'true'}},
{'connectivityCheck': 'true', 'connectivityTimeout': 120})
{} flowID [46ca7a6b]
Thread-14::DEBUG::2014-06-30 12:19:50,413::BindingXMLRPC::1074::vds::(wrapper)
return setupNetworks with {'status': {'message': 'Done', 'code': 0}}
And the relevant mtus:
'networks': {},
'bridges': {},
'nics': {
'eth3': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4b',
'cfg': {
'DEVICE': 'eth3',
'HWADDR': '00:1b:21:d0:bb:4b',
'ONBOOT': 'yes',
'MTU': '1500'},
'ipv6addrs': [],
'speed': 0,
'mtu': '1500'},
'eth2': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'DEVICE': 'eth2',
'HWADDR': '00:1b:21:d0:bb:4a',
'ONBOOT': 'yes',
'MTU': '1500'},
'ipv6addrs': [],
'speed': 0,
'mtu': '1500'}},
'bondings': {
'bond0': {
'netmask': '',
'addr': '',
'slaves': [],
'hwaddr': '00:00:00:00:00:00',
'cfg': {},
'ipv6addrs': [],
'mtu': '9000'}},
'vlans': {},
As we can see (again) the nics returned to mtu=1500 but bond0 stayed at mtu
9000.
Now we create the mtu=5000 network over bond0 with slaves eth2 and eth3
Thread-13::DEBUG::2014-06-30 13:58:24,392::BindingXMLRPC::1067::vds::(wrapper)
client [10.35.163.63]::call setupNetworks with
({'mtu5000': {
'bonding': 'bond0',
'vlan': '222',
'STP': 'no',
'bridged': 'true',
'mtu': '5000'}},
{'bond0': {
'nics': ['eth3', 'eth2'],
'options': 'mode=1 miimon=100'}},
{'connectivityCheck': 'true',
'connectivityTimeout': 120})
{} flowID [2e9ce98b]
Thread-13::DEBUG::2014-06-30 13:58:28,000::BindingXMLRPC::1074::vds::(wrapper)
return setupNetworks with {'status': {'message': 'Done', 'code': 0}}
And the relevant mtus:
'networks': {
'mtu5000': {
'iface': 'mtu5000',
'addr': '',
'cfg': {
'DEFROUTE': 'no',
'HOTPLUG': 'no',
'MTU': '5000', <-----------------
'DELAY': '0',
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'mtu5000',
'TYPE': 'Bridge',
'ONBOOT': 'yes'},
'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'],
'gateway': '',
'netmask': '',
'stp': 'off',
'bridged': True,
'mtu': '5000', <-----------------
'ipv6gateway': '::',
'ports': ['bond0.222']}},
'bridges': {
'mtu5000': {
'addr': '',
'cfg': {
'DEFROUTE': 'no',
'HOTPLUG': 'no',
'MTU': '5000', <-----------------
'DELAY': '0',
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'mtu5000',
'TYPE': 'Bridge',
'ONBOOT': 'yes'},
'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'],
'mtu': '5000', <-----------------
'netmask': '',
'stp': 'off',
'ipv6gateway': '::',
'gateway': '',
'ports': ['bond0.222']},
';vdsmdummy;': {'addr': '',
'cfg': {},
'ipv6addrs': [],
'mtu': '1500', <-----------------
'netmask': '',
'stp': 'off',
'ipv6gateway': '::',
'gateway': '',
'ports': []}},
'nics': {
'eth3': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'SLAVE': 'yes',
'NM_CONTROLLED': 'no',
'MTU': '9000', <-----------------
'HWADDR': '00:1b:21:d0:bb:4b',
'MASTER': 'bond0',
'DEVICE': 'eth3',
'STP': 'no',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'permhwaddr': '00:1B:21:D0:BB:4B',
'speed': 0,
'mtu': '5000'}, <-----------------
'eth2': {
'netmask': '',
'addr': '',
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'SLAVE': 'yes',
'NM_CONTROLLED': 'no',
'MTU': '9000', <-----------------
'HWADDR': '00:1b:21:d0:bb:4a',
'MASTER': 'bond0',
'DEVICE': 'eth2',
'STP': 'no',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'permhwaddr': '00:1B:21:D0:BB:4A',
'speed': 0,
'mtu': '9000'}}, <-----------------
'bondings': {
'bond0': {
'netmask': '',
'addr': '',
'slaves': ['eth2', 'eth3'],
'hwaddr': '00:1b:21:d0:bb:4a',
'cfg': {
'HOTPLUG': 'no',
'MTU': '5000', <-----------------
'NM_CONTROLLED': 'no',
'STP': 'no',
'BONDING_OPTS': 'mode=1 miimon=100',
'DEVICE': 'bond0',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'mtu': '5000'}}, <-----------------
'vlans': {
'bond0.222': {
'netmask': '',
'iface': 'bond0',
'addr': '',
'cfg': {
'BRIDGE': 'mtu5000',
'VLAN': 'yes',
'HOTPLUG': 'no',
'MTU': '5000', <-----------------
'NM_CONTROLLED': 'no',
'STP': 'no',
'DEVICE': 'bond0.222',
'ONBOOT': 'yes'},
'ipv6addrs': [],
'vlanid': 222,
'mtu': '5000'}}, <-----------------
We can see here that, while bond0 and eth3 have the right mtu (5000), eth2
remained with the 9000 value.
I think that the newest code should destroy the bond0 and thus this should not
reproduce.
Trying to reproduce on upstream target (oVirt-3.5)
First we create the mtu9000 network over bond0 with nics eth1 and eth2:
In [1]: from vdsm import netinfo
In [2]: from vdsm import vdscli
In [3]: c = vdscli.connect()
In [4]: c.setupNetworks({'mtu9000': {'bonding': 'bond0', 'mtu': 9000}}, {'bond0': {'nics': ['eth1', 'eth2']}}, {'connectivityCheck': False})
Out[4]: {'status': {'code': 0, 'message': 'Done'}}
We check the mtus afterwards
In [5]: netinfo.NetInfo(c.getVdsCapabilities()['info']).networks
Out[5]:
{'mtu9000': {'addr': '',
'bootproto4': 'none',
'bridged': True,
'cfg': {'BOOTPROTO': 'none',
'DEFROUTE': 'no',
'DELAY': '0',
'DEVICE': 'mtu9000',
'HOTPLUG': 'no',
'MTU': '9000',
'NM_CONTROLLED': 'no',
'ONBOOT': 'no',
'STP': 'off',
'TYPE': 'Bridge'},
'gateway': '',
'iface': 'mtu9000',
'ipv4addrs': [],
'ipv6addrs': ['2620:52:0:223c:21a:4aff:fe0c:8792/64',
'fe80::21a:4aff:fe0c:8792/64'],
'ipv6gateway': 'fe80:52:0:223c::3fe',
'mtu': '9000', <------------------------------------------------
'netmask': '',
'ports': ['bond0'],
'stp': 'off'}}
In [6]: netinfo.NetInfo(c.getVdsCapabilities()['info']).nics['eth1']
Out[6]:
{'addr': '',
'cfg': {'DEVICE': 'eth1',
'HWADDR': '00:1a:4a:0c:87:92',
'MASTER': 'bond0',
'MTU': '9000',
'NM_CONTROLLED': 'no',
'ONBOOT': 'no',
'SLAVE': 'yes'},
'hwaddr': '00:1a:4a:0c:87:92',
'ipv4addrs': [],
'ipv6addrs': [],
'mtu': '9000', <------------------------------------------------
'netmask': '',
'permhwaddr': '00:1A:4A:0C:87:92',
'speed': 0}
In [7]: netinfo.NetInfo(c.getVdsCapabilities()['info']).nics['eth2']
Out[7]:
{'addr': '',
'cfg': {'DEVICE': 'eth2',
'HWADDR': '00:1a:4a:0c:87:93',
'MASTER': 'bond0',
'MTU': '9000',
'NM_CONTROLLED': 'no',
'ONBOOT': 'no',
'SLAVE': 'yes'},
'hwaddr': '00:1a:4a:0c:87:92',
'ipv4addrs': [],
'ipv6addrs': [],
'mtu': '9000', <------------------------------------------------
'netmask': '',
'permhwaddr': '00:1A:4A:0C:87:93',
'speed': 0}
As we can see, the MTUs are correctly set to 9000. Now let's break the bond,
and see the mtus:
In [8]: c.setupNetworks({'mtu9000': {'remove': True}}, {'bond0': {'remove': True}}, {'connectivityCheck': False})Out[8]: {'status': {'code': 0, 'message': 'Done'}}
In [9]: netinfo.NetInfo(c.getVdsCapabilities()['info']).networks
Out[9]: {}
In [10]: netinfo.NetInfo(c.getVdsCapabilities()['info']).nics['eth1']
Out[10]:
{'addr': '',
'cfg': {'DEVICE': 'eth1',
'HWADDR': '00:1a:4a:0c:87:92',
'MTU': '1500',
'ONBOOT': 'yes'},
'hwaddr': '00:1a:4a:0c:87:92',
'ipv4addrs': [],
'ipv6addrs': ['fe80::21a:4aff:fe0c:8792/64'],
'mtu': '1500', <------------------------------------------------
'netmask': '',
'speed': 0}
In [11]: netinfo.NetInfo(c.getVdsCapabilities()['info']).nics['eth2']
Out[11]:
{'addr': '',
'cfg': {'DEVICE': 'eth2',
'HWADDR': '00:1a:4a:0c:87:93',
'MTU': '1500',
'ONBOOT': 'yes'},
'hwaddr': '00:1a:4a:0c:87:93',
'ipv4addrs': [],
'ipv6addrs': ['fe80::21a:4aff:fe0c:8793/64'],
'mtu': '1500', <------------------------------------------------
'netmask': '',
'speed': 0}
In [12]: netinfo.NetInfo(c.getVdsCapabilities()['info']).bondings['bond0']
Out[12]:
{'addr': '',
'cfg': {},
'hwaddr': '00:00:00:00:00:00',
'mtu': '1500', <------------------------------------------------
'netmask': '',
'slaves': []}
As we can see, in oVirt-3.5, in contrast to oVirt-3.4, the bonds are removed
when broken and the mtu of even the bond returned to the 1500 default value.
Now we setup the mtu5000 network over the same bond and check the mtus:
In [13]: c.setupNetworks({'mtu5000': {'bonding': 'bond0', 'mtu': 5000}}, {'bond0': {'nics': ['eth1', 'eth2']}}, {'connectivityCheck': False})
Out[13]: {'status': {'code': 0, 'message': 'Done'}}
In [14]: netinfo.NetInfo(c.getVdsCapabilities()['info']).networksOut[14]:
{'mtu5000': {'addr': '',
'bootproto4': 'none',
'bridged': True,
'cfg': {'BOOTPROTO': 'none',
'DEFROUTE': 'no',
'DELAY': '0',
'DEVICE': 'mtu5000',
'HOTPLUG': 'no',
'MTU': '5000',
'NM_CONTROLLED': 'no',
'ONBOOT': 'no',
'STP': 'off',
'TYPE': 'Bridge'},
'gateway': '',
'iface': 'mtu5000',
'ipv4addrs': [],
'ipv6addrs': ['2620:52:0:223c:21a:4aff:fe0c:8792/64',
'fe80::21a:4aff:fe0c:8792/64'],
'ipv6gateway': 'fe80:52:0:223c::3fe',
'mtu': '5000', <------------------------------------------------
'netmask': '',
'ports': ['bond0'],
'stp': 'off'}}
In [15]: netinfo.NetInfo(c.getVdsCapabilities()['info']).nics['eth1']Out[15]:
{'addr': '',
'cfg': {'DEVICE': 'eth1',
'HWADDR': '00:1a:4a:0c:87:92',
'MASTER': 'bond0',
'MTU': '5000',
'NM_CONTROLLED': 'no',
'ONBOOT': 'no',
'SLAVE': 'yes'},
'hwaddr': '00:1a:4a:0c:87:92',
'ipv4addrs': [],
'ipv6addrs': [],
'mtu': '5000', <------------------------------------------------
'netmask': '',
'permhwaddr': '00:1A:4A:0C:87:92',
'speed': 0}
In [16]: netinfo.NetInfo(c.getVdsCapabilities()['info']).nics['eth2']
Out[16]:
{'addr': '',
'cfg': {'DEVICE': 'eth2',
'HWADDR': '00:1a:4a:0c:87:93',
'MASTER': 'bond0',
'MTU': '5000',
'NM_CONTROLLED': 'no',
'ONBOOT': 'no',
'SLAVE': 'yes'},
'hwaddr': '00:1a:4a:0c:87:92',
'ipv4addrs': [],
'ipv6addrs': [],
'mtu': '5000', <------------------------------------------------
'netmask': '',
'permhwaddr': '00:1A:4A:0C:87:93',
'speed': 0}
In [17]: netinfo.NetInfo(c.getVdsCapabilities()['info']).bondings['bond0']Out[17]:
{'addr': '',
'cfg': {'BONDING_OPTS': 'mode=802.3ad miimon=150',
'BRIDGE': 'mtu5000',
'DEVICE': 'bond0',
'HOTPLUG': 'no',
'MTU': '5000',
'NM_CONTROLLED': 'no',
'ONBOOT': 'no'},
'hwaddr': '00:1a:4a:0c:87:92',
'ipv4addrs': [],
'ipv6addrs': ['fe80::21a:4aff:fe0c:8792/64'],
'mtu': '5000', <------------------------------------------------
'netmask': '',
'opts': {'miimon': '150', 'mode': '4'},
'slaves': ['eth1', 'eth2']}
Since it is fixed in the target version, I'm closing the bug. If needed to retarget to 3.4, feel free to reopen and I'll backport the relevant 3.5 patches.
|
Created attachment 913309 [details] engine and vdsm logs Description of problem: One of the BOND slaves get higher MTU then the BOND if the BOND was configured with higher MTU before. configured VLAN over BOND0 network with MTU 9000 using setupNetworks and after break the BOND in setupNetworks (and press OK) configured the same BOND (BOND0) with VLAN over BOND network with MTU 5000 as a result I have this: [root@pink-vds2 ~]# cat /sys/class/net/bond0.222/mtu 5000 [root@pink-vds2 ~]# cat /sys/class/net/bond0/mtu 5000 [root@pink-vds2 ~]# cat /sys/class/net/eth3/mtu 5000 [root@pink-vds2 ~]# cat /sys/class/net/eth2/mtu 9000 eth2 and eth3 are slaves for BOND0 eth2 have MTU 9000 and should have MTU 500 Version-Release number of selected component (if applicable): rhevm-3.4.1-0.23.el6ev.noarch vdsm-4.14.7-4.el6ev.x86_64 How reproducible: 100% Steps to Reproduce: 1. Create VLAN network with MTU 9000 and attach it to BOND0 on host 2. Open setupNetworks and break BOND0 > press OK 3. Create VLAN network with MTU 500 and attach it to BOND0 on the same host Actual results: eth2 have MTU 9000 Expected results: eth2 should have MTU 5000 Additional info: setupNetworks engine command: 2014-06-30 13:58:23,224 INFO [org.ovirt.engine.core.vdsbroker.vdsbroker.SetupNetworksVDSCommand] (ajp-/127.0.0.1:8702-1) [2e9ce98b] START, SetupNetworksVDSCommand(HostName = pink-vds2.qa.lab.tlv.redhat.com, HostId = 63695762-5f80-44e9-9edb-1879016f5405, force=false, checkConnectivity=true, conectivityTimeout=120, networks=[mtu5000 {id=d421f3e1-f8c9-455e-996f-af2f6322ddab, description=null, comment=null, subnet=null, gateway=null, type=null, vlanId=222, stp=false, dataCenterId=8ad8f3ee-9f9d-4708-bede-0cc19cdf3515, mtu=5000, vmNetwork=true, cluster=NetworkCluster {id={clusterId=null, networkId=null}, status=NON_OPERATIONAL, display=false, required=true, migration=false}, providedBy=null, label=null, qosId=null}], bonds=[bond0 {id=fd06440e-cbf4-4bb3-9e69-b695eb84ea5c, vdsId=63695762-5f80-44e9-9edb-1879016f5405, name=bond0, macAddress=00:00:00:00:00:00, networkName=null, bondOptions=mode=1 miimon=100, bootProtocol=NONE, address=, subnet=, gateway=null, mtu=9000, bridged=false, type=0, networkImplementationDetails=null}], interfaces=[eth3 {id=d26e3a93-86e2-421d-a3a1-8933b41c4b24, vdsId=63695762-5f80-44e9-9edb-1879016f5405, name=eth3, macAddress=00:1b:21:d0:bb:4b, networkName=null, bondName=bond0, bootProtocol=NONE, address=, subnet=, gateway=null, mtu=1500, bridged=false, speed=0, type=0, networkImplementationDetails=null}, eth1 {id=9aa564b8-5ed5-4ca7-bf61-db2fdfc79f67, vdsId=63695762-5f80-44e9-9edb-1879016f5405, name=eth1, macAddress=00:21:5e:3f:db:2e, networkName=null, bondName=null, bootProtocol=NONE, address=, subnet=, gateway=null, mtu=1500, bridged=false, speed=1000, type=0, networkImplementationDetails=null}, eth2 {id=ec90e9e5-634a-4603-b695-d7b53bf66ac9, vdsId=63695762-5f80-44e9-9edb-1879016f5405, name=eth2, macAddress=00:1b:21:d0:bb:4a, networkName=null, bondName=bond0, bootProtocol=NONE, address=, subnet=, gateway=null, mtu=1500, bridged=false, speed=0, type=0, networkImplementationDetails=null}, eth0 {id=1326b07f-5950-4430-b193-299541123de5, vdsId=63695762-5f80-44e9-9edb-1879016f5405, name=eth0, macAddress=00:21:5e:3f:db:2c, networkName=rhevm, bondName=null, bootProtocol=DHCP, address=10.35.128.38, subnet=255.255.255.0, gateway=10.35.128.254, mtu=1500, bridged=true, speed=1000, type=2, networkImplementationDetails={inSync=true, managed=true}}, bond0 {id=null, vdsId=null, name=bond0, macAddress=null, networkName=null, bondOptions=mode=1 miimon=100, bootProtocol=null, address=null, subnet=null, gateway=null, mtu=0, bridged=false, type=0, networkImplementationDetails=null}, bond0.222 {id=null, vdsId=null, macAddress=null, networkName=mtu5000, vlanId=222, bonded=null, bondName=null, bondOptions=null, bootProtocol=NONE, address=null, subnet=null, gateway=null, mtu=5000, bridged=true, speed=null, type=0, networkImplementationDetails=null, qos=null qosOverridden=false, labels=null}], removedNetworks=[], removedBonds=[]), log id: bf5944 2014-06-30 13:58:23,226 INFO [org.ovirt.engine.core.vdsbroker.vdsbroker.SetupNetworksVDSCommand] (ajp-/127.0.0.1:8702-1) [2e9ce98b] FINISH, SetupNetworksVDSCommand, log id: bf5944 getVdsCaps: [root@pink-vds2 ~]# vdsClient -s 0 getVdsCaps HBAInventory = {'FC': [], 'iSCSI': [{'InitiatorName': 'iqn.1994-05.com.redhat:pink-vds2'}]} ISCSIInitiatorName = 'iqn.1994-05.com.redhat:pink-vds2' bondings = {'bond0': {'addr': '', 'cfg': {'BONDING_OPTS': 'mode=1 miimon=100', 'DEVICE': 'bond0', 'HOTPLUG': 'no', 'MTU': '5000', 'NM_CONTROLLED': 'no', 'ONBOOT': 'yes', 'STP': 'no'}, 'hwaddr': '00:1b:21:d0:bb:4a', 'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'], 'mtu': '5000', 'netmask': '', 'slaves': ['eth2', 'eth3']}, 'bond1': {'addr': '', 'cfg': {}, 'hwaddr': '00:00:00:00:00:00', 'ipv6addrs': [], 'mtu': '5000', 'netmask': '', 'slaves': []}, 'bond2': {'addr': '', 'cfg': {}, 'hwaddr': '00:00:00:00:00:00', 'ipv6addrs': [], 'mtu': '1500', 'netmask': '', 'slaves': []}, 'bond3': {'addr': '', 'cfg': {}, 'hwaddr': '00:00:00:00:00:00', 'ipv6addrs': [], 'mtu': '1500', 'netmask': '', 'slaves': []}, 'bond4': {'addr': '', 'cfg': {}, 'hwaddr': '00:00:00:00:00:00', 'ipv6addrs': [], 'mtu': '1500', 'netmask': '', 'slaves': []}} bridges = {';vdsmdummy;': {'addr': '', 'cfg': {}, 'gateway': '', 'ipv6addrs': [], 'ipv6gateway': '::', 'mtu': '1500', 'netmask': '', 'ports': [], 'stp': 'off'}, 'mtu5000': {'addr': '', 'cfg': {'DEFROUTE': 'no', 'DELAY': '0', 'DEVICE': 'mtu5000', 'HOTPLUG': 'no', 'MTU': '5000', 'NM_CONTROLLED': 'no', 'ONBOOT': 'yes', 'STP': 'no', 'TYPE': 'Bridge'}, 'gateway': '', 'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'], 'ipv6gateway': '::', 'mtu': '5000', 'netmask': '', 'ports': ['bond0.222'], 'stp': 'off'}, 'rhevm': {'addr': '10.35.128.38', 'cfg': {'BOOTPROTO': 'dhcp', 'DEFROUTE': 'yes', 'DELAY': '0', 'DEVICE': 'rhevm', 'NM_CONTROLLED': 'no', 'ONBOOT': 'yes', 'STP': 'no', 'TYPE': 'Bridge'}, 'gateway': '10.35.128.254', 'ipv6addrs': ['fe80::221:5eff:fe3f:db2c/64'], 'ipv6gateway': '::', 'mtu': '1500', 'netmask': '255.255.255.0', 'ports': ['eth0'], 'stp': 'off'}} clusterLevels = ['3.0', '3.1', '3.2', '3.3', '3.4'] cpuCores = '4' cpuFlags = 'fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,ht,tm,pbe,syscall,nx,lm,constant_tsc,arch_perfmon,pebs,bts,rep_good,aperfmperf,pni,dtes64,monitor,ds_cpl,vmx,est,tm2,ssse3,cx16,xtpr,pdcm,dca,sse4_1,xsave,lahf_lm,dts,tpr_shadow,vnmi,flexpriority,model_Conroe,model_coreduo,model_core2duo,model_Penryn,model_n270' cpuModel = 'Intel(R) Xeon(R) CPU E5420 @ 2.50GHz' cpuSockets = '1' cpuSpeed = '2490.000' cpuThreads = '4' emulatedMachines = ['rhel6.5.0', 'pc', 'rhel6.4.0', 'rhel6.3.0', 'rhel6.2.0', 'rhel6.1.0', 'rhel6.0.0', 'rhel5.5.0', 'rhel5.4.4', 'rhel5.4.0'] guestOverhead = '65' hooks = {} kvmEnabled = 'true' lastClient = '10.35.128.38' lastClientIface = 'rhevm' management_ip = '0.0.0.0' memSize = '7872' netConfigDirty = 'True' networks = {'mtu5000': {'addr': '', 'bridged': True, 'cfg': {'DEFROUTE': 'no', 'DELAY': '0', 'DEVICE': 'mtu5000', 'HOTPLUG': 'no', 'MTU': '5000', 'NM_CONTROLLED': 'no', 'ONBOOT': 'yes', 'STP': 'no', 'TYPE': 'Bridge'}, 'gateway': '', 'iface': 'mtu5000', 'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'], 'ipv6gateway': '::', 'mtu': '5000', 'netmask': '', 'ports': ['bond0.222'], 'stp': 'off'}, 'rhevm': {'addr': '10.35.128.38', 'bridged': True, 'cfg': {'BOOTPROTO': 'dhcp', 'DEFROUTE': 'yes', 'DELAY': '0', 'DEVICE': 'rhevm', 'NM_CONTROLLED': 'no', 'ONBOOT': 'yes', 'STP': 'no', 'TYPE': 'Bridge'}, 'gateway': '10.35.128.254', 'iface': 'rhevm', 'ipv6addrs': ['fe80::221:5eff:fe3f:db2c/64'], 'ipv6gateway': '::', 'mtu': '1500', 'netmask': '255.255.255.0', 'ports': ['eth0'], 'stp': 'off'}} nics = {'eth0': {'addr': '', 'cfg': {'BRIDGE': 'rhevm', 'DEVICE': 'eth0', 'HWADDR': '00:21:5e:3f:db:2c', 'NM_CONTROLLED': 'no', 'ONBOOT': 'yes', 'STP': 'no'}, 'hwaddr': '00:21:5e:3f:db:2c', 'ipv6addrs': ['fe80::221:5eff:fe3f:db2c/64'], 'mtu': '1500', 'netmask': '', 'speed': 1000}, 'eth1': {'addr': '', 'cfg': {'DEVICE': 'eth1', 'HWADDR': '00:21:5e:3f:db:2e', 'MTU': '1500', 'ONBOOT': 'yes'}, 'hwaddr': '00:21:5e:3f:db:2e', 'ipv6addrs': ['fe80::221:5eff:fe3f:db2e/64'], 'mtu': '1500', 'netmask': '', 'speed': 1000}, 'eth2': {'addr': '', 'cfg': {'DEVICE': 'eth2', 'HWADDR': '00:1b:21:d0:bb:4a', 'MASTER': 'bond0', 'MTU': '9000', 'NM_CONTROLLED': 'no', 'ONBOOT': 'yes', 'SLAVE': 'yes', 'STP': 'no'}, 'hwaddr': '00:1b:21:d0:bb:4a', 'ipv6addrs': [], 'mtu': '9000', 'netmask': '', 'permhwaddr': '00:1B:21:D0:BB:4A', 'speed': 1000}, 'eth3': {'addr': '', 'cfg': {'DEVICE': 'eth3', 'HWADDR': '00:1b:21:d0:bb:4b', 'MASTER': 'bond0', 'MTU': '9000', 'NM_CONTROLLED': 'no', 'ONBOOT': 'yes', 'SLAVE': 'yes', 'STP': 'no'}, 'hwaddr': '00:1b:21:d0:bb:4a', 'ipv6addrs': [], 'mtu': '5000', 'netmask': '', 'permhwaddr': '00:1B:21:D0:BB:4B', 'speed': 1000}} operatingSystem = {'name': 'RHEL', 'release': '6.5.0.1.el6', 'version': '6Server'} packages2 = {'kernel': {'buildtime': 1385278657.0, 'release': '431.1.2.el6.x86_64', 'version': '2.6.32'}, 'libvirt': {'buildtime': 1393584604, 'release': '29.el6_5.5', 'version': '0.10.2'}, 'mom': {'buildtime': 1392224015, 'release': '1.el6ev', 'version': '0.4.0'}, 'qemu-img': {'buildtime': 1393935192, 'release': '2.415.el6_5.6', 'version': '0.12.1.2'}, 'qemu-kvm': {'buildtime': 1393935192, 'release': '2.415.el6_5.6', 'version': '0.12.1.2'}, 'spice-server': {'buildtime': 1385990636, 'release': '6.el6_5.1', 'version': '0.12.4'}, 'vdsm': {'buildtime': 1403687001, 'release': '4.el6ev', 'version': '4.14.7'}} reservedMem = '321' rngSources = ['random'] software_revision = '4' software_version = '4.14' supportedENGINEs = ['3.0', '3.1', '3.2', '3.3', '3.4'] supportedProtocols = ['2.2', '2.3'] supportedRHEVMs = ['3.0'] uuid = 'B494A402-4B76-3796-BDF1-B76758D61B1B' version_name = 'Snow Man' vlans = {'bond0.222': {'addr': '', 'cfg': {'BRIDGE': 'mtu5000', 'DEVICE': 'bond0.222', 'HOTPLUG': 'no', 'MTU': '5000', 'NM_CONTROLLED': 'no', 'ONBOOT': 'yes', 'STP': 'no', 'VLAN': 'yes'}, 'iface': 'bond0', 'ipv6addrs': ['fe80::21b:21ff:fed0:bb4a/64'], 'mtu': '5000', 'netmask': '', 'vlanid': 222}} vmTypes = ['kvm']