check-unifi-controller icon indicating copy to clipboard operation
check-unifi-controller copied to clipboard

[2.2.0] TypeError 'in_octets'

Open meilon opened this issue 1 year ago • 1 comments

Hi!

I just updated my testing environment (using the cloud container) to 2.2.0p5, and sadly I get a TypeError for the interfaces:

Exception: 
TypeError (unifi_interface.__init__() got an unexpected keyword argument 'in_octets')

TraceBack: 
 File "/omd/sites/cmk/lib/python3/cmk/base/agent_based/checking/_checking.py", line 413, in get_aggregated_result
    consume_check_results(
  File "/omd/sites/cmk/lib/python3/cmk/base/api/agent_based/checking_classes.py", line 494, in consume_check_results
    for subr in subresults:
  File "/omd/sites/cmk/lib/python3/cmk/base/api/agent_based/register/check_plugins.py", line 93, in filtered_generator
    for element in generator(*args, **kwargs):
  File "/omd/sites/cmk/local/lib/python3/cmk/base/plugins/agent_based/unifi_controller.py", line 534, in check_unifi_network_port_if
    _converted_ifs = _convert_unifi_counters_if(section)
  File "/omd/sites/cmk/local/lib/python3/cmk/base/plugins/agent_based/unifi_controller.py", line 481, in _convert_unifi_counters_if
    return [
  File "/omd/sites/cmk/local/lib/python3/cmk/base/plugins/agent_based/unifi_controller.py", line 482, in <listcomp>
    unifi_interface(

Local Variables:
{'.0': <dict_valueiterator object at 0x7f29dd13c860>,
 'netif': dictobject(<function <lambda> at 0x7f29defd7d80>,
                     {'admin_status': '1',
                      'aggregated_by': '0',
                      'autoneg': '1',
                      'bytes_r': '0',
                      'enable': '1',
                      'forward': 'all',
                      'full_duplex': '0',
                      'ifname': 'eth0',
                      'is_uplink': '0',
                      'mac': '78:45:58:e4:5f:e9',
                      'name': 'Port 1',
                      'network_name': 'lan',
                      'num_port': '1',
                      'op_mode': 'switch',
                      'oper_status': '2',
                      'poe_enable': '0',
                      'poe_power': '0.00',
                      'port_idx': '1',
                      'port_poe': '0',
                      'rx_broadcast': '57727',
                      'rx_bytes': '1550808226787',
                      'rx_bytes_r': '0',
                      'rx_dropped': '998076',
                      'rx_errors': '997677',
                      'rx_multicast': '997835',
                      'rx_packets': '1265629185',
                      'rx_rate': '0',
                      'rx_rate_max': '0',
                      'speed': '10',
                      'tx_broadcast': '15880848',
                      'tx_bytes': '1516011921884',
                      'tx_bytes_r': '0',
                      'tx_dropped': '0',
                      'tx_errors': '0',
                      'tx_multicast': '22713592',
                      'tx_packets': '1190856715',
                      'tx_rate': '0',
                      'tx_rate_max': '0',
                      'type': 'ethernet'})}

My Python isn't that great but from what I can tell in 2.1.0 the .utils Interfaces class used to have all those attributes and with 2.2.0 these are moved to a seperate Counters and Rates class (don't quite get why there are two now for InterfaceWithCounters and InterfaceWithRates).

So please take this as a kind request to update this extension for 2.2

meilon avatar Jul 12 '23 14:07 meilon