Bug 846312 - beta2 3.1 - Custom MTU is not working properly.
beta2 3.1 - Custom MTU is not working properly.
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: vdsm (Show other bugs)
6.3
x86_64 Linux
medium Severity medium
: rc
: ---
Assigned To: Igor Lvovsky
Meni Yakove
network
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-08-07 08:28 EDT by Meni Yakove
Modified: 2012-12-04 14:04 EST (History)
10 users (show)

See Also:
Fixed In Version: vdsm-4.9.6-31.0
Doc Type: Bug Fix
Doc Text:
In a beta release of Red Hat Enterprise Virtualization 3.1, operations involving logical networks with custom MTUs failed. Now, logical networks with custom MTUs behave the same way as those without custom MTUs.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-12-04 14:04:50 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
vdsm.log (12.58 MB, text/x-log)
2012-08-07 08:28 EDT, Meni Yakove
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2012:1508 normal SHIPPED_LIVE Important: rhev-3.1.0 vdsm security, bug fix, and enhancement update 2012-12-04 18:48:05 EST

  None (edit)
Description Meni Yakove 2012-08-07 08:28:21 EDT
Created attachment 602732 [details]
vdsm.log

Description of problem:
I have BOND with two VLANs with custom MTU on it, VM1 is running and using the two VLANs. after deactivate the networks on the VM and trying to break the BOND interface using SetupNetworks I get this error on vdsm.log:

MainProcess|Thread-981::ERROR::2012-08-07 14:20:49,016::configNetwork::1261::setupNetworks::(setupNetworks) [Errno 2] No such file or directory: '/etc/sysconfig/network-scripts/ifcfg-11'
Traceback (most recent call last):
  File "/usr/share/vdsm/configNetwork.py", line 1203, in setupNetworks
    implicitBonding=False)
  File "/usr/share/vdsm/configNetwork.py", line 871, in delNetwork
    configWriter.setNewMtu(network)
  File "/usr/share/vdsm/configNetwork.py", line 459, in setNewMtu
    mtu = self._getConfigValue(cf, 'MTU')
  File "/usr/share/vdsm/configNetwork.py", line 362, in _getConfigValue
    with open(conffile) as f:
IOError: [Errno 2] No such file or directory: '/etc/sysconfig/network-scripts/ifcfg-11'
--------------------------------------------------------------------------------


The file should be ifcfg-bond0.11.

Version-Release number of selected component (if applicable):
vdsm-4.9.6-26.0.el6_3.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Create BOND, create two VLAN network with MTU 5000 and 9000 (VLAN_NET10-MTU5000, VLAN_NET11-MTU9000)and attache the VLANs networks to the BOND
2.Create VM with two networks - VLAN_NET10-MTU5000, VLAN_NET11-MTU9000 and start the VM
3.On the VM select the two networks and deactivate them.
4.Open SetupNetwork and break the BOND.
  
Actual results:
Error when trying to break the BOND

Expected results:
Interface detached from the BOND.
Comment 4 Meni Yakove 2012-08-22 10:30:31 EDT
When changing something in the BOND (Mode, add or remove nics from BOND) the MTU configuration on the ifcfg-ethX are resets.

Steps to Reproduce:
1. On SetupNetworks create BOND and attach network with MTU 5000 to it.
2. On SetupNetworks add another nic to the BOND.



Actual results:
The MTU=5000 are deleted from ifcfg-ethX files

Expected results:
The MTU=5000 should be on the ifcfg-ethX files
Comment 5 Meni Yakove 2012-08-22 13:48:15 EDT
When attaching two networks with custom MTU to the same nic the operation fails.

Steps to Reproduce:
1. Create two networks with custom MTU and attach them to cluster
2. Open SetupNetworks and attach the networks to nic > apply.


Actual results:
The operation failedץ

Expected results:
Should succeed, the networks attached to the nic.
Comment 6 Meni Yakove 2012-08-22 13:51:45 EDT
Failed to detach bridge-VLAN-MTU network from nic

Steps to Reproduce:
1. Create bridge-VLAN-MTU network and attach it to cluster.
2. Open SetupNetworks and attach the network to nic > apply.
3. Open SetipNetwork and detach the network from the nic > apply.

Actual results:
The operation failed

Expected results:
Should succeed, the networks detach from the nic

Additional Info:

MainProcess?|Thread-82::DEBUG::2012-08-19 12:24:19,568::configNetwork::1198::setupNetworks::(setupNetworks) Setting up network according to configuration: networks:{'vnetmtu1': {'nic': 'eth1', 'vlan': '555', 'STP': '
no', 'bridged': 'true', 'mtu': '5000'}}, bondings:{'bond0': {'nics': ['eth2', 'eth3'], 'options': 'mode=1 miimon=100'}}, options:{'connectivityCheck': 'true', 'connectivityTimeout': 120}
MainProcess?|Thread-82::DEBUG::2012-08-19 12:24:19,568::configNetwork::1202::root::(setupNetworks) Validating configuration
MainProcess?|Thread-82::DEBUG::2012-08-19 12:24:19,593::configNetwork::1205::setupNetworks::(setupNetworks) Applying...
MainProcess?|Thread-82::DEBUG::2012-08-19 12:24:19,594::configNetwork::1210::setupNetworks::(setupNetworks) Removing network 'vnetmtu1'
MainProcess?|Thread-82::INFO::2012-08-19 12:24:19,618::configNetwork::977::root::(delNetwork) Removing network vnetmtu1 with vlan=555, bonding=None, nics=eth3?,options={}
MainProcess?|Thread-82::ERROR::2012-08-19 12:24:19,644::configNetwork::1270::setupNetworks::(setupNetworks) [Errno 2] No such file or directory: '/etc/sysconfig/network-scripts/eth3.eth3.555'
Traceback (most recent call last):
File "/usr/share/vdsm/configNetwork.py", line 1212, in setupNetworks
implicitBonding=False)
File "/usr/share/vdsm/configNetwork.py", line 992, in delNetwork
configWriter.setNewMtu(network)
File "/usr/share/vdsm/configNetwork.py", line 598, in setNewMtu
mtu = self._getConfigValue(cf, MTU?)MTU?
File "/usr/share/vdsm/configNetwork.py", line 504, in _getConfigValue
with open(conffile) as f:
IOError: [Errno 2] No such file or directory: '/etc/sysconfig/network-scripts/eth3.eth3.555'
MainProcess?|Thread-82::ERROR::2012-08-19 12:24:19,660::supervdsmServer::77::SuperVdsm?.ServerCallback::(wrapper) Error in setupNetworks
Traceback (most recent call last):
File "/usr/share/vdsm/supervdsmServer.py", line 75, in wrapper
return func(*args, kwargs)

File "/usr/share/vdsm/supervdsmServer.py", line 151, in setupNetworks
return configNetwork.setupNetworks(networks, bondings, options)

File "/usr/share/vdsm/configNetwork.py", line 1212, in setupNetworks
implicitBonding=False)
File "/usr/share/vdsm/configNetwork.py", line 992, in delNetwork
configWriter.setNewMtu(network)
File "/usr/share/vdsm/configNetwork.py", line 598, in setNewMtu
mtu = self._getConfigValue(cf, MTU?)MTU?
File "/usr/share/vdsm/configNetwork.py", line 504, in _getConfigValue
with open(conffile) as f:
IOError: [Errno 2] No such file or directory: '/etc/sysconfig/network-scripts/eth3.eth3.555'
Thread-82::DEBUG::2012-08-19 12:24:19,661::init::1164::Storage.Misc.excCmd::(_log) '/usr/bin/sudo -n /bin/kill -9 3616' (cwd None)
Thread-82::DEBUG::2012-08-19 12:24:19,691::init::1164::Storage.Misc.excCmd::(_log) SUCCESS: <err> = ; <rc> = 0
Thread-82::DEBUG::2012-08-19 12:24:19,692::supervdsm::91::SuperVdsmProxy::(_launchSupervdsm) Launching Super Vdsm
Thread-82::DEBUG::2012-08-19 12:24:19,693::init::1164::Storage.Misc.excCmd::(_log) '/usr/bin/sudo -n /usr/bin/python /usr/share/vdsm/supervdsmServer.py 6e0bb49a-35f5-4126-ae2f-653fe241f9fa 3581' (cwd None)
MainThread::DEBUG::2012-08-19 12:24:20,015::supervdsmServer::316::SuperVdsm?.Server::(main) Making sure I'm root
MainThread::DEBUG::2012-08-19 12:24:20,015::supervdsmServer::320::SuperVdsm?.Server::(main) Parsing cmd args
MainThread::DEBUG::2012-08-19 12:24:20,015::supervdsmServer::323::SuperVdsm?.Server::(main) Creating PID file
MainThread::DEBUG::2012-08-19 12:24:20,016::supervdsmServer::327::SuperVdsm?.Server::(main) Cleaning old socket
MainThread::DEBUG::2012-08-19 12:24:20,016::supervdsmServer::331::SuperVdsm?.Server::(main) Setting up keep alive thread
MainThread::DEBUG::2012-08-19 12:24:20,017::supervdsmServer::337::SuperVdsm?.Server::(main) Creating remote object manager
MainThread::DEBUG::2012-08-19 12:24:20,018::supervdsmServer::348::SuperVdsm?.Server::(main) Started serving super vdsm object
Thread-84::DEBUG::2012-08-19 12:24:20,051::BindingXMLRPC::872::vds::(wrapper) client [10.35.97.19]::call ping with () {} flowID [79fcfe34]
Thread-84::DEBUG::2012-08-19 12:24:20,051::BindingXMLRPC::879::vds::(wrapper) return ping with {'status': {'message': 'Done', 'code': 0}}
Thread-86::DEBUG::2012-08-19 12:24:20,556::BindingXMLRPC::872::vds::(wrapper) client [10.35.97.19]::call ping with () {} flowID [79fcfe34]
Thread-86::DEBUG::2012-08-19 12:24:20,556::BindingXMLRPC::879::vds::(wrapper) return ping with {'status': {'message': 'Done', 'code': 0}}
Thread-87::DEBUG::2012-08-19 12:24:21,065::BindingXMLRPC::872::vds::(wrapper) client [10.35.97.19]::call ping with () {} flowID [79fcfe34]
Thread-87::DEBUG::2012-08-19 12:24:21,065::BindingXMLRPC::879::vds::(wrapper) return ping with {'status': {'message': 'Done', 'code': 0}}
Thread-88::DEBUG::2012-08-19 12:24:21,570::BindingXMLRPC::872::vds::(wrapper) client [10.35.97.19]::call ping with () {} flowID [79fcfe34]
Thread-88::DEBUG::2012-08-19 12:24:21,570::BindingXMLRPC::879::vds::(wrapper) return ping with {'status': {'message': 'Done', 'code': 0}}
Thread-82::DEBUG::2012-08-19 12:24:21,706::supervdsm::113::SuperVdsmProxy::(_connect) Trying to connect to Super Vdsm
Thread-82::ERROR::2012-08-19 12:24:21,712::BindingXMLRPC::891::vds::(wrapper) unexpected error
Traceback (most recent call last):

File "/usr/share/vdsm/BindingXMLRPC.py", line 877, in wrapper
res = f(*args, kwargs)

File "/usr/share/vdsm/BindingXMLRPC.py", line 346, in setupNetworks
return api.setupNetworks(networks, bondings, options)
File "/usr/share/vdsm/API.py", line 1154, in setupNetworks
supervdsm.getProxy().setupNetworks(networks, bondings, options)
File "/usr/share/vdsm/supervdsm.py", line 70, in call
return callMethod()
File "/usr/share/vdsm/supervdsm.py", line 65, in <lambda>
kwargs)

File "<string>", line 2, in setupNetworks
File "/usr/lib64/python2.6/multiprocessing/managers.py", line 725, in _callmethod
conn.send((self._id, methodname, args, kwds))
IOError: [Errno 32] Broken pipe
Comment 7 Dan Kenigsberg 2012-08-23 16:31:30 EDT
the following patches solve most of the issues raise until now:
http://gerrit.ovirt.org/7323
http://gerrit.ovirt.org/7360
comment 4 is still on the TODO list.
Comment 8 Igor Lvovsky 2012-08-26 06:37:34 EDT
comment 4 solved by
http://gerrit.ovirt.org/#/c/7464/2
Comment 9 Meni Yakove 2012-08-26 10:15:05 EDT
When adding non_vm network with lower MTU from the one that already configured on the BOND the non_vm MTU is set to the BOND and to the eth of the BOND.
The higher MTU value should be on the nics and on the BOND.


Steps to Reproduce:
1. On SetupNetworks create BOND and attach network with MTU 9000 to it.
2. On SetupNetworks attach non_vm network with MTU 5000 to the BOND.



Actual results:
BOND and eth of the BOND now have MTU 5000

Expected results:
BOND and eth of the BOND should have MTU 9000
Comment 11 Meni Yakove 2012-09-03 03:32:47 EDT
Tested on:
vdsm-4.9.6-31.0.el6_3.x86_64
rhevm-3.1.0-14.el6ev.noarch

All scenarios was fixed except "Comment 9" see bug - https://bugzilla.redhat.com/show_bug.cgi?id=852052
Comment 14 errata-xmlrpc 2012-12-04 14:04:50 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2012-1508.html

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