diff --git a/Changelog.md b/Changelog.md index 294dda7c630383e848c2c2c962dd89b9c8ee9c2e..311b195c637510b4dbbe3d646653dec083755cb6 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,10 @@ All notable changes to this project will be documented in this file. +## [0.82] - 2022-02-24 +- POL1-487: Made filtering for COPERNICUS dashboard more specific +- POL1-560: Added GBS_10G dashboard tag for circuits related to 10G Guaranteed Bandwidth Service + ## [0.81] - 2022-02-17 - POL1-521: handle RPC timeout error properly, and log errors diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py index 7ff8494c26edc49339598b64c229f573f9d11041..6d7476e0fd50a2ba20d64b13cea4a2c233555e0e 100644 --- a/inventory_provider/routes/poller.py +++ b/inventory_provider/routes/poller.py @@ -105,6 +105,7 @@ class BRIAN_DASHBOARDS(Enum): IAS_CUSTOMER = auto() IAS_UPSTREAM = auto() GWS_PHY_UPSTREAM = auto() + GBS_10G = auto() # aggregate dashboards CLS_PEERS = auto() @@ -112,13 +113,11 @@ class BRIAN_DASHBOARDS(Enum): GWS_UPSTREAMS = auto() LHCONE = auto() CAE1 = auto() + COPERNICUS = auto() # NREN customer NREN = auto() - # COPERNICUS - COPERNICUS = auto() - # only used in INTERFACE_LIST_SCHEMA and sphinx docs _DASHBOARD_IDS = [d.name for d in list(BRIAN_DASHBOARDS)] @@ -418,7 +417,7 @@ def _get_dashboards(interface): router = interface.get('router', '').lower() ifc_name = interface.get('name', '') description = interface.get('description', '').strip() - if re.search(r'COPERNICUS.*?\|', description, flags=re.IGNORECASE): + if 'SRV_L3VPN' in description and 'COPERNICUS' in description: yield BRIAN_DASHBOARDS.COPERNICUS if 'SRV_CLS' in description: yield BRIAN_DASHBOARDS.CLS @@ -434,6 +433,8 @@ def _get_dashboards(interface): yield BRIAN_DASHBOARDS.IAS_CUSTOMER if 'SRV_IAS UPSTREAM' in description: yield BRIAN_DASHBOARDS.IAS_UPSTREAM + if 'SRV_10GGBS CUSTOMER' in description: + yield BRIAN_DASHBOARDS.GBS_10G if re.match('(SRV_GLOBAL|SRV_L3VPN|LAG) RE_INTERCONNECT', description): yield BRIAN_DASHBOARDS.RE_PEER if re.match(r'(PHY|LAG|SRV_GLOBAL) CUSTOMER', description): diff --git a/setup.py b/setup.py index c53c286396dd23dc7b41aa4a71245306a4690a59..bb0df08010d2045b0b1c495740ce11d1284bb9f6 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='inventory-provider', - version="0.81", + version="0.82", author='GEANT', author_email='swd@geant.org', description='Dashboard inventory provider', diff --git a/test/test_general_poller_routes.py b/test/test_general_poller_routes.py index cda06e6b496aeea370a6b90c2f3025b69ce59d07..01e17d43e355a67c24bec94ab878db90f5e4deae 100644 --- a/test/test_general_poller_routes.py +++ b/test/test_general_poller_routes.py @@ -298,7 +298,9 @@ def test_fw_counter_bytes_oid_values(customer, interface_name, expected_oid): ('SRV_L2CIRCUIT CUSTOMER TENET PSNC #lon-lon-GEANTOPEN-PSNC-TENET-18067 |', # noqa: E501 ['GEANTOPEN', 'L2_CIRCUIT']), ('SRV_L3VPN RE_INTERCONNECT REDCLARA #REDCLARA-MAD-COPERNICUS | ASN27750', - ['LHCONE', 'COPERNICUS', 'RE_PEER']) + ['LHCONE', 'COPERNICUS', 'RE_PEER']), + ('SRV_10GGBS CUSTOMER REDIRIS CERN #gen-mad-LHC-CERN-REDIRIS-07003 |', + ['GBS_10G']) ]) def test_interface_dashboard_mapping(description, expected_dashboards): interface = {