diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py index 284e7b711a5ac87c7600a80335409bf3fbf5ddce..b022ecc1a9c61c5c74136dbd4ed3d53f338d56d9 100644 --- a/inventory_provider/routes/poller.py +++ b/inventory_provider/routes/poller.py @@ -931,17 +931,18 @@ def load_error_report_interfaces( netdash_equipment = get_netdash_equipment(config, use_next_redis) def filter_interface(interface: dict): - return all( - ( - "phy" in interface["description"].lower(), - "spare" not in interface["description"].lower(), - "non-operational" not in interface["description"].lower(), - "reserved" not in interface["description"].lower(), - "test" not in interface["description"].lower(), - "dsc." not in interface["name"].lower(), - "fxp" not in interface["name"].lower(), - ) - ) + description = interface["description"].lower() + name = interface["name"].lower() + return ( + "phy" in description + and "spare" not in description + and "non-operational" not in description + and "reserved" not in description + and "test" not in description + and "dsc." not in name + and "fxp" not in name + and not re.match(r".*\.\d+$", name) + ) def transform_interface(interface: dict) -> Dict: return { diff --git a/test/test_general_poller_routes.py b/test/test_general_poller_routes.py index da419f00736abf6ae444266a8b6575bdc06161cc..9174d91e1059383ba1eb5327cd560823513828ea 100644 --- a/test/test_general_poller_routes.py +++ b/test/test_general_poller_routes.py @@ -511,6 +511,10 @@ def test_get_all_error_report_interfaces(client): response_routers = {ifc['router'] for ifc in response_data} assert len(response_routers) > 1, 'there should data from be lots of routers' +def test_error_report_interfaces_has_no_logical_interfaces(client): + rv = client.get("/poller/error-report-interfaces", headers=DEFAULT_REQUEST_HEADERS) + assert not [i["name"] for i in rv.json if i["name"].endswith(".1")] + def test_get_single_router_error_report_interfaces(client): rv = client.get( diff --git a/test/test_worker.py b/test/test_worker.py index 3fd325ca7e5b5e657a5f0cc007e6881d66be6c18..8dbd8767fb36a6d661ca38e287f956c43c021135 100644 --- a/test/test_worker.py +++ b/test/test_worker.py @@ -992,7 +992,7 @@ def test_populate_error_report_interfaces_cache(mocker, data_config, mocked_redi }, { "router": "rt0.geant.net", - "name": "lag-1.0", + "name": "lag-1", "bundle": ["ae_c"], "bundle-parents": [], "description": "PHY DESCRIPTION D", @@ -1035,12 +1035,6 @@ def test_populate_error_report_interfaces_cache(mocker, data_config, mocked_redi "description": "PHY DESCRIPTION B", "vendor": "juniper" }, - { - "router": "router_a.geant.net", - "name": "ae_a.123", - "description": "PHY DESCRIPTION C", - "vendor": "juniper" - }, { "router": "router_a.geant.net", "name": "interface_a", @@ -1051,7 +1045,7 @@ def test_populate_error_report_interfaces_cache(mocker, data_config, mocked_redi exp_nokia_router_interfaces = [ { "router": "rt0.geant.net", - "name": "lag-1.0", + "name": "lag-1", "description": "PHY DESCRIPTION D", "vendor": "nokia" }