Skip to content
Snippets Groups Projects
Commit 0a21b2a6 authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

Expect whitespace in interface description prefix matching.

Ensures matches are not partial in case of overlapping naming schemes
parent c8d00461
No related branches found
No related tags found
1 merge request!6Expect whitespace in interface description prefix matching.
......@@ -437,29 +437,29 @@ def _get_dashboards(interface):
description = interface.get('description', '').strip()
if 'SRV_L3VPN' in description and 'COPERNICUS' in description:
yield BRIAN_DASHBOARDS.COPERNICUS
if 'SRV_CLS' in description:
if re.match(r'SRV_CLS\s', description):
yield BRIAN_DASHBOARDS.CLS
if 'SRV_CLS PRIVATE' in description:
if re.match(r'SRV_CLS PRIVATE\s', description):
yield BRIAN_DASHBOARDS.CLS_PEERS
if 'SRV_IAS PUBLIC' in description:
if re.match(r'SRV_IAS PUBLIC\s', description):
yield BRIAN_DASHBOARDS.IAS_PUBLIC
yield BRIAN_DASHBOARDS.IAS_PEERS
if 'SRV_IAS PRIVATE' in description:
if re.match(r'SRV_IAS PRIVATE\s', description):
yield BRIAN_DASHBOARDS.IAS_PRIVATE
yield BRIAN_DASHBOARDS.IAS_PEERS
if 'SRV_IAS CUSTOMER' in description:
if re.match(r'SRV_IAS CUSTOMER\s', description):
yield BRIAN_DASHBOARDS.IAS_CUSTOMER
if 'SRV_IAS UPSTREAM' in description:
if re.match(r'SRV_IAS UPSTREAM\s', description):
yield BRIAN_DASHBOARDS.IAS_UPSTREAM
if 'SRV_10GGBS CUSTOMER' in description:
if re.match(r'SRV_10GGBS CUSTOMER\s', description):
yield BRIAN_DASHBOARDS.GBS_10G
if re.match('(SRV_GLOBAL|SRV_L3VPN|LAG) RE_INTERCONNECT', description):
if re.match(r'(SRV_GLOBAL|SRV_L3VPN|LAG) RE_INTERCONNECT\s', description):
yield BRIAN_DASHBOARDS.RE_PEER
if re.match(r'(PHY|LAG|SRV_GLOBAL) CUSTOMER', description):
if re.match(r'(PHY|LAG|SRV_GLOBAL) CUSTOMER\s', description):
yield BRIAN_DASHBOARDS.RE_CUST
if re.match('^SRV_GCS', description):
yield BRIAN_DASHBOARDS.GCS
if 'GEANTOPEN' in description:
if re.match(r'PHY CUSTOMER_GEO\s', description):
yield BRIAN_DASHBOARDS.GEANTOPEN
if 'SRV_L2CIRCUIT' in description:
yield BRIAN_DASHBOARDS.L2_CIRCUIT
......@@ -468,21 +468,21 @@ def _get_dashboards(interface):
yield BRIAN_DASHBOARDS.LHCONE_PEER
if 'SRV_L3VPN CUSTOMER' in description:
yield BRIAN_DASHBOARDS.LHCONE_CUST
if re.match('SRV_L3VPN (CUSTOMER|RE_INTERCONNECT)', description):
if re.match(r'SRV_L3VPN (CUSTOMER|RE_INTERCONNECT)\s', description):
if '-LHCONE' in description:
# `-LHCONE` can be preceded by tons of different stuff, so it's
# simpler to check for this rather than a full regex
yield BRIAN_DASHBOARDS.LHCONE
if re.match('^SRV_MDVPN CUSTOMER', description):
if re.match(r'SRV_MDVPN CUSTOMER\s', description):
yield BRIAN_DASHBOARDS.MDVPN_CUSTOMERS
if re.match('(SRV_GLOBAL|LAG|PHY) INFRASTRUCTURE BACKBONE', description):
if re.match(r'(SRV_GLOBAL|LAG|PHY) INFRASTRUCTURE BACKBONE', description):
yield BRIAN_DASHBOARDS.INFRASTRUCTURE_BACKBONE
if router == 'mx1.lon.uk.geant.net' \
and re.match(r'^ae12(\.\d+|$)$', ifc_name):
yield BRIAN_DASHBOARDS.CAE1
if re.match('^PHY UPSTREAM', description):
if re.match(r'PHY UPSTREAM\s', description):
yield BRIAN_DASHBOARDS.GWS_PHY_UPSTREAM
regex = r'(PHY|LAG|(SRV_(GLOBAL|LHCONE|MDVPN|IAS|CLS|L3VPN))) CUSTOMER'
regex = r'(PHY|LAG|(SRV_(GLOBAL|LHCONE|MDVPN|IAS|CLS|L3VPN))) CUSTOMER\s'
if re.match(regex, description):
yield BRIAN_DASHBOARDS.NREN
......
......@@ -301,7 +301,9 @@ def test_fw_counter_bytes_oid_values(customer, interface_name, expected_oid):
('SRV_MDVPN CUSTOMER REDIRIS #RedIRIS_AP1_BGP_LU_CoC_1 | MD VPN CoC-REDIRIS - ', # noqa: E501
['MDVPN_CUSTOMERS', 'NREN']),
('SRV_L2CIRCUIT CUSTOMER TENET PSNC #lon-lon-GEANTOPEN-PSNC-TENET-18067 |', # noqa: E501
['GEANTOPEN', 'L2_CIRCUIT']),
['L2_CIRCUIT']),
('PHY CUSTOMER_GEO TENET PSNC #lon-lon-GEANTOPEN-PSNC-TENET-18067 |',
['GEANTOPEN']),
('SRV_L3VPN RE_INTERCONNECT REDCLARA #REDCLARA-MAD-COPERNICUS | ASN27750',
['COPERNICUS', 'RE_PEER']),
('SRV_10GGBS CUSTOMER REDIRIS CERN #gen-mad-LHC-CERN-REDIRIS-07003 |',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment