Bug 1123610

Summary: Unexpected error in VDSM and Engine log when changing the tagged network to be untagged (with ethtool_opts or bridge_opts)
Product: [Retired] oVirt Reporter: GenadiC <gcheresh>
Component: vdsmAssignee: Dan Kenigsberg <danken>
Status: CLOSED DUPLICATE QA Contact: Michael Burman <mburman>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.5CC: acathrow, bazulay, bugs, ecohen, gklein, iheim, lvernia, mgoldboi, myakove, yeylon
Target Milestone: ---Keywords: 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-08-21 23:21:13 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:
Description Flags
logs with error
none
vdsm and supervdsm logs none

Description GenadiC 2014-07-27 08:06:33 UTC
Created attachment 921381 [details]
logs with error

Description of problem:
Trying to change the network tagged with 0 VLAN to be untagged I got Failed getVdsStats error in engine log with unexpected error in VDSM log, though an action succeeded

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Configure a network with VLAN 0 and attach it to host
2. Change the network to be untagged
3. Look at the engine and vdsm logs

Actual results:
There is unexpected error when performing an action

Expected results:
The log should be clean from errors when performing legimate operation

Additional info:

Comment 1 Dan Kenigsberg 2014-07-28 08:32:38 UTC
The custom property ethtool_opts was used to set a nic that is not owned by the configured network. I suppose it's an Engine glitch.

call setupNetworks with ({'net11': {'remove': 'true'}, 'kaka_eth1': {'nic': 'eth1', 'mtu': '1500', 'STP': 'no', 'bridged': 'true', 'custom': {'ethtool_opts': '--offload eth2 rx on', 'bridge_opts': 'Priority=7smax_age=1998'}}}, {}, {'connectivityCheck': 'true', 'connectivityTimeout': 60}) {}


MainProcess|Thread-13::INFO::2014-07-16 10:59:03,411::hooks::100::root::(_runHooksDir) ethtool_options hook: [unexpected error]: Traceback (most recent call last):
  File "/usr/libexec/vdsm/hooks/after_network_setup/30_ethtool_options", line 140, in <module>
    main()
  File "/usr/libexec/vdsm/hooks/after_network_setup/30_ethtool_options", line 83, in main
    _process_network(network, attrs)
  File "/usr/libexec/vdsm/hooks/after_network_setup/30_ethtool_options", line 91, in _process_network
    _validate_dev_ownership(_net_nics(attrs), network, tokens)
  File "/usr/libexec/vdsm/hooks/after_network_setup/30_ethtool_options", line 111, in _validate_dev_ownership
    'in the net nics: %s' % (cmd.device, nics))
RuntimeError: Trying to apply ethtool opts for dev: eth2, not in the net nics: [u'eth1']

Comment 2 Lior Vernia 2014-07-30 09:52:58 UTC
Seems like this is due to ethtool_opts being put on the wrong network (or referring to the wrong interface), please verify.

Comment 3 Michael Burman 2014-08-03 05:59:28 UTC
Verified on-  oVirt Engine Version: 3.5.0-0.0.master.20140722232058.git8e1babc.el6

Comment 4 GenadiC 2014-08-07 08:18:35 UTC
Created attachment 924783 [details]
vdsm and supervdsm logs

You probably looked at the incorrect part in the log.
Uploading new logs, take a look at the network called vlan0 (end of the log)

Comment 5 Lior Vernia 2014-08-07 12:46:11 UTC
Just to regain attention...

Comment 6 Dan Kenigsberg 2014-08-21 23:18:14 UTC
A quote from the logs could have helped. Do you mean this one?

Thread-54::ERROR::2014-08-07 11:05:51,761::BindingXMLRPC::1146::vds::(wrapper) unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/rpc/BindingXMLRPC.py", line 1130, in wrapper
    res = f(*args, **kwargs)
  File "/usr/share/vdsm/rpc/BindingXMLRPC.py", line 475, in getStats
    return api.getStats()
  File "/usr/share/vdsm/API.py", line 1245, in getStats
    decStats = self._cif._hostStats.get()
  File "/usr/share/vdsm/virt/sampling.py", line 541, in get
    stats = self._getInterfacesStats()
  File "/usr/share/vdsm/virt/sampling.py", line 647, in _getInterfacesStats
    for hs in self._samples])
KeyError: 'vlan0'

Comment 7 Dan Kenigsberg 2014-08-21 23:21:13 UTC

*** This bug has been marked as a duplicate of bug 1116577 ***