Bug 1223457
| Summary: | unable to add new VLAN when using net_persistence=ifcfg | ||
|---|---|---|---|
| Product: | [Retired] oVirt | Reporter: | Daniel Lupescu <dlupescu+rhb> |
| Component: | vdsm | Assignee: | Petr Horáček <phoracek> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Meni Yakove <myakove> |
| Severity: | high | Docs Contact: | |
| Priority: | urgent | ||
| Version: | 3.6 | CC: | bazulay, bugs, danken, ecohen, ernest.beinrohr, lsurette, mburman, mgoldboi, milan.zelenka, rbalakri, yeylon, ylavi |
| Target Milestone: | --- | Keywords: | Regression |
| Target Release: | 3.5.3 | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | network | ||
| Fixed In Version: | vdsm-4.16.18-1.el6ev | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-06-15 08:38:48 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: | |||
This regression was introduce by the backport of https://gerrit.ovirt.org/#/q/I4d3ed2b45d618d404bb340100ca07bc57b2f1136 I am having very similar problems, probably the same source. My stack trace is different however, I'm attaching it therefore:
Thread-14::DEBUG::2015-06-01 17:26:44,925::BindingXMLRPC::1133::vds::(wrapper) client [192.168.100.22]::call setupNetworks with ({'ovirtmgmt': {'vlan': '90', 'ipaddr': '192.168.100.26', 'netmask': '255.255.255.0', 'mtu': '1500', 'bonding': 'bond0', 'STP': 'no', 'bridged': 'true', 'gateway': '192.168.100.1', 'defaultRoute': True}, 'br1070': {'bonding': 'bond0', 'vlan': '1070', 'STP': 'no', 'bridged': 'true', 'mtu': '1500'}, 'br200': {'bonding': 'bond0', 'vlan': '200', 'STP': 'no', 'bridged': 'true', 'mtu': '1500'}, 'br192': {'bonding': 'bond0', 'vlan': '192', 'STP': 'no', 'bridged': 'true', 'mtu': '1500'}, 'br154': {'bonding': 'bond0', 'vlan': '154', 'STP': 'no', 'bridged': 'true', 'mtu': '1500'}}, {}, {'connectivityCheck': 'true', 'connectivityTimeout': 120}) {} flowID [3ca7aae2]
Thread-13::DEBUG::2015-06-01 17:26:44,927::BindingXMLRPC::1140::vds::(wrapper) return ping with {'status': {'message': 'Done', 'code': 0}}
Thread-14::ERROR::2015-06-01 17:26:47,655::BindingXMLRPC::1152::vds::(wrapper) unexpected error
Traceback (most recent call last):
File "/usr/share/vdsm/rpc/BindingXMLRPC.py", line 1136, in wrapper
res = f(*args, **kwargs)
File "/usr/share/vdsm/rpc/BindingXMLRPC.py", line 554, in setupNetworks
return api.setupNetworks(networks, bondings, options)
File "/usr/share/vdsm/API.py", line 1398, in setupNetworks
supervdsm.getProxy().setupNetworks(networks, bondings, options)
File "/usr/share/vdsm/supervdsm.py", line 50, in __call__
return callMethod()
File "/usr/share/vdsm/supervdsm.py", line 48, in <lambda>
**kwargs)
File "<string>", line 2, in setupNetworks
File "/usr/lib64/python2.6/multiprocessing/managers.py", line 740, in _callmethod
raise convert_to_error(kind, result)
AttributeError: 'Ifcfg' object has no attribute 'runningConfig'
But this is from vdsm.log, right? Could you provide output of supervdsm.log (the error part will be sufficient)? Thanks! Traceback (most recent call last):
File "/usr/share/vdsm/supervdsmServer", line 104, in wrapper
res = func(*args, **kwargs)
File "/usr/share/vdsm/supervdsmServer", line 224, in setupNetworks
return setupNetworks(networks, bondings, **options)
File "/usr/share/vdsm/network/api.py", line 693, in setupNetworks
implicitBonding=True, _netinfo=_netinfo, **d)
File "/usr/share/vdsm/network/api.py", line 209, in wrapped
return func(*args, **kwargs)
File "/usr/share/vdsm/network/api.py", line 315, in addNetwork
netEnt.configure(**options)
File "/usr/share/vdsm/network/models.py", line 169, in configure
self.configurator.configureBridge(self, **opts)
File "/usr/share/vdsm/network/configurators/ifcfg.py", line 86, in configureBridge
bridge.port.configure(**opts)
File "/usr/share/vdsm/network/models.py", line 133, in configure
self.configurator.configureVlan(self, **opts)
File "/usr/share/vdsm/network/configurators/ifcfg.py", line 92, in configureVlan
vlan.device.configure(**opts)
File "/usr/share/vdsm/network/models.py", line 207, in configure
self.name in self.configurator.runningConfig.bonds and
AttributeError: 'Ifcfg' object has no attribute 'runningConfig'
Tested and verified on - 3.5.3-1.3.el6ev with rhel 7.1 vdsm-4.16.18-1.el7ev.x86_64 and rhel 6.7 vdsm-4.16.18-1.el6ev.x86_64 This is an automated message. oVirt 3.5.3 has been released on June 15th 2015 and should include the fix for this BZ. Moving to closed current release. |
Description of problem: Unable to add new VLAN to bonded interface when /etc/vdsm/vdsm.conf has net_persistence = ifcfg Version-Release number of selected component (if applicable): vdsm-4.16.14-0.el6.x86_64 How reproducible: Always Steps to Reproduce: 1. vdsm configured with net_persistence = ifcfg 2. Create new VLAN tagged network 3. Under "Setup Host Networks" try to add the new VLAN to a host via drag-and-drop Actual results: VLAN is not added - vdsm log throws the following error: ::supervdsmServer::106::SuperVdsm.ServerCallback::(wrapper) Error in setupNetworks Traceback (most recent call last): File "/usr/share/vdsm/supervdsmServer", line 104, in wrapper res = func(*args, **kwargs) File "/usr/share/vdsm/supervdsmServer", line 224, in setupNetworks return setupNetworks(networks, bondings, **options) File "/usr/share/vdsm/network/api.py", line 693, in setupNetworks implicitBonding=True, _netinfo=_netinfo, **d) File "/usr/share/vdsm/network/api.py", line 209, in wrapped return func(*args, **kwargs) File "/usr/share/vdsm/network/api.py", line 315, in addNetwork netEnt.configure(**options) File "/usr/share/vdsm/network/models.py", line 169, in configure self.configurator.configureBridge(self, **opts) File "/usr/share/vdsm/network/configurators/ifcfg.py", line 86, in configureBridge bridge.port.configure(**opts) File "/usr/share/vdsm/network/models.py", line 133, in configure self.configurator.configureVlan(self, **opts) File "/usr/share/vdsm/network/configurators/ifcfg.py", line 92, in configureVlan vlan.device.configure(**opts) File "/usr/share/vdsm/network/models.py", line 207, in configure self.name in self.configurator.runningConfig.bonds and AttributeError: 'Ifcfg' object has no attribute 'runningConfig' Expected results: VLAN is added to host Additional info: Using vdsClient to add the VLAN has the same result. Issue seems to be in /usr/share/vdsm/network/configurators/ifcfg.py, line 61: class Ifcfg(Configurator): # TODO: Do all the configApplier interaction from here. def __init__(self, inRollback=False): self.unifiedPersistence = \ config.get('vars', 'net_persistence') == 'unified' super(Ifcfg, self).__init__(ConfigWriter(self.unifiedPersistence), inRollback) if self.unifiedPersistence: self.runningConfig = RunningConfig() The runningConfig object is not instantiated when not using unified persistence. A workaround is possible by removing the last condition.