Previously, when running "setup networks" to add a NIC to a bond, or to remove a NIC from a bond, VDSM failed to resize the bond. VDSM has been updated and bonds can now be redefined without failure.
Description of problem:
Attempted to setupNetworks to change bond from 2 to 3 nics with the command:
MainProcess|Thread-135::DEBUG::2012-05-31 08:33:39,906::configNetwork::998::setupNetworks::(setupNetworks) Setting up network according to configuration: networks:{}, bondings:{'bond4': {'nics': ['eth1', 'eth2', 'eth3'], 'BONDING_OPTS': 'mode=802.3ad miimon=150'}}, options:{'connectivityCheck': 'true', 'connectivityTimeout': '60000'}
Version-Release number of selected component (if applicable):
How reproducible:
Steps to Reproduce:
1. Create bond over two bonds
2. Run setup networks to add another bond
Actual results:
Got exceptions:
MainProcess|Thread-135::ERROR::2012-05-31 08:33:40,014::configNetwork::1051::setupNetworks::(setupNetworks) '_networks'
Traceback (most recent call last):
File "/usr/share/vdsm/configNetwork.py", line 1003, in setupNetworks
_validateNetworkSetup(dict(networks), dict(bondings), explicitBonding=options.get('explicitBonding', False))
File "/usr/share/vdsm/configNetwork.py", line 936, in _validateNetworkSetup
networks = bondingAttrs['_networks']
KeyError: '_networks'
MainProcess|Thread-135::ERROR::2012-05-31 08:33:40,014::supervdsmServer::70::SuperVdsm.ServerCallback::(wrapper) Error in setupNetworks
Traceback (most recent call last):
File "/usr/share/vdsm/supervdsmServer.py", line 68, in wrapper
return func(*args, **kwargs)
File "/usr/share/vdsm/supervdsmServer.py", line 136, in setupNetworks
return configNetwork.setupNetworks(networks, bondings, **options)
File "/usr/share/vdsm/configNetwork.py", line 1003, in setupNetworks
_validateNetworkSetup(dict(networks), dict(bondings), explicitBonding=options.get('explicitBonding', False))
File "/usr/share/vdsm/configNetwork.py", line 936, in _validateNetworkSetup
networks = bondingAttrs['_networks']
KeyError: '_networks'
Thread-135::ERROR::2012-05-31 08:33:40,015::BindingXMLRPC::864::vds::(wrapper) unexpected error
Traceback (most recent call last):
File "/usr/share/vdsm/BindingXMLRPC.py", line 854, in wrapper
res = f(*args, **kwargs)
File "/usr/share/vdsm/BindingXMLRPC.py", line 331, in setupNetworks
return api.setupNetworks(networks, bondings, options)
File "/usr/share/vdsm/API.py", line 1156, in setupNetworks
supervdsm.getProxy().setupNetworks(networks, bondings, options)
File "/usr/share/vdsm/supervdsm.py", line 67, 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.7/multiprocessing/managers.py", line 773, in _callmethod
raise convert_to_error(kind, result)
KeyError: '_networks'
Expected results:
Bond should be defined over the 3 interfaces.
Additional info:
This will probably happen when changing bond from 3 to 2 nics, but haven't tested that.
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