netshow / ethtool issue on VX 3.0.0


$ netshow system    NOTE: netshow does not have detailed specs for the 'cumulus,vx' platform    Cumulus 3.0.0  Build: Cumulus Linux 3.0.0  Uptime: 0:51:22    vagrant@leaf1:~$ netshow interface all -j  Traceback (most recent call last):    File "/usr/bin/netshow", line 18, in       netshow.run()    File "/usr/lib/python2.7/dist-packages/netshow/netshow.py", line 31, in run      nn.import_module(import_str).run()    File "/usr/lib/python2.7/dist-packages/netshow/cumulus/show.py", line 100, in run      print(_showint.run())    File "/usr/lib/python2.7/dist-packages/netshow/linux/show_interfaces.py", line 58, in run      return self.print_many_ifaces()    File "/usr/lib/python2.7/dist-packages/netshow/linux/show_interfaces.py", line 154, in print_many_ifaces      return self.print_json_many_ifaces(_port_type)    File "/usr/lib/python2.7/dist-packages/netshow/linux/show_interfaces.py", line 174, in print_json_many_ifaces      return json.dumps(self.ifacelist.get(port_type), cls=NetEncoder, sort_keys=True, indent=4)    File "/usr/lib/python2.7/json/__init__.py", line 250, in dumps      sort_keys=sort_keys, **kw).encode(obj)    File "/usr/lib/python2.7/json/encoder.py", line 209, in encode      chunks = list(chunks)    File "/usr/lib/python2.7/json/encoder.py", line 434, in _iterencode      for chunk in _iterencode_dict(o, _current_indent_level):    File "/usr/lib/python2.7/json/encoder.py", line 408, in _iterencode_dict      for chunk in chunks:    File "/usr/lib/python2.7/json/encoder.py", line 443, in _iterencode      for chunk in _iterencode(o, _current_indent_level):    File "/usr/lib/python2.7/json/encoder.py", line 434, in _iterencode      for chunk in _iterencode_dict(o, _current_indent_level):    File "/usr/lib/python2.7/json/encoder.py", line 408, in _iterencode_dict      for chunk in chunks:    File "/usr/lib/python2.7/json/encoder.py", line 442, in _iterencode      o = _default(o)    File "/usr/lib/python2.7/dist-packages/netshow/linux/netjson_encoder.py", line 21, in default      _hash[_property] = getattr(obj, _property)    File "/usr/lib/python2.7/dist-packages/netshowlib/cumulus/iface.py", line 226, in counters      self._counters.run()    File "/usr/lib/python2.7/dist-packages/netshowlib/cumulus/counters.py", line 116, in run      self._cache = cacheinfo(self.name)    File "/usr/lib/python2.7/dist-packages/netshowlib/cumulus/counters.py", line 77, in cacheinfo      get_ethtool_output(ifacename))    File "/usr/lib/python2.7/dist-packages/netshowlib/cumulus/counters.py", line 18, in get_ethtool_output      ethtool_output = linux_common.exec_command(cmd)    File "/usr/lib/python2.7/dist-packages/netshowlib/linux/common.py", line 182, in exec_command      output = subprocess.check_output(cmd.split(), shell=False, stderr=subprocess.STDOUT)    File "/usr/lib/python2.7/subprocess.py", line 573, in check_output      raise CalledProcessError(retcode, cmd, output=output)  subprocess.CalledProcessError: Command '['/sbin/ethtool', '-S', 'swp1']' returned non-zero exit status 94  vagrant@leaf1:~$ ethtool -S swp1  no stats available  vagrant@leaf1:~$ echo $?  94  vagrant@leaf1:~$ ethtool swp1  Settings for swp1:   Supported ports: [ ]   Supported link modes:   Not reported   Supported pause frame use: No   Supports auto-negotiation: No   Advertised link modes:  Not reported   Advertised pause frame use: No   Advertised auto-negotiation: No   Speed: 10Mb/s   Duplex: Full   Port: Twisted Pair   PHYAD: 0   Transceiver: internal   Auto-negotiation: off   MDI-X: Unknown  Cannot get wake-on-lan settings: Operation not permitted   Link detected: yes  


I have the same issue using sudo. The only difference with sudo is the wake-on-lan information doesn't error. Details about my build can be found here: https://gitlab.com/russStarr/interop-2016/builds/1691418

I originally caught this through a behave interface error and dived deeper to discover the above details.

3 replies

Userlevel 1
Hi Russ,

Just checked and I'm seeing the same behavior with 3.0 VX in my lab. Will reach out to the engineering team and update when a solution/work-around is available.
Userlevel 1
Hi Russ,

The source of the error has been identified and a fix has been implemented. Hopefully, the review and testing process will go quickly, and the fix will be publicly available in a few days.
Userlevel 1
Hi Russ,

This fix is now available. To get the update, run the following commands:
cumulus@leaf1# sudo apt-get update  cumulus@leaf1# sudo apt-get upgrade

Reply