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

Fix service-based aggregates for RE peers

parent e9bdc985
Branches
Tags
No related merge requests found
...@@ -458,7 +458,8 @@ def get_service_data(service_type, services, interfaces, excluded_dashboards): ...@@ -458,7 +458,8 @@ def get_service_data(service_type, services, interfaces, excluded_dashboards):
for customer, services in customers.items(): for customer, services in customers.items():
dashboard = result.setdefault(customer, { dashboard = result.setdefault(customer, {
'SERVICES': [] 'SERVICES': [],
'AGGREGATES': [],
}) })
for service in services: for service in services:
...@@ -469,6 +470,8 @@ def get_service_data(service_type, services, interfaces, excluded_dashboards): ...@@ -469,6 +470,8 @@ def get_service_data(service_type, services, interfaces, excluded_dashboards):
measurement = 'scid_rates' measurement = 'scid_rates'
is_lambda = service_type.lower() in ['geant managed wavelength service', 'geant lambda'] is_lambda = service_type.lower() in ['geant managed wavelength service', 'geant lambda']
is_re_peer = service_type.lower() in ['ip peering - r&e']
if len(_interfaces) == 0: if len(_interfaces) == 0:
continue continue
...@@ -476,19 +479,31 @@ def get_service_data(service_type, services, interfaces, excluded_dashboards): ...@@ -476,19 +479,31 @@ def get_service_data(service_type, services, interfaces, excluded_dashboards):
if 'interface' in _interfaces[0]: if 'interface' in _interfaces[0]:
if_name = _interfaces[0].get('interface') if_name = _interfaces[0].get('interface')
router = _interfaces[0].get('hostname') router = _interfaces[0].get('hostname')
addresses = _interfaces[0].get('addresses', [])
has_v6_interface = any(':' in addr for addr in addresses)
else: else:
if_name = _interfaces[0].get('port') if_name = _interfaces[0].get('port')
router = _interfaces[0].get('equipment') router = _interfaces[0].get('equipment')
has_v6_interface = False
router = router.replace('.geant.net', '') router = router.replace('.geant.net', '')
title = f'{router} - {{}} - {if_name} - {name} ({sid})' title = f'{router} - {{}} - {if_name} - {name} ({sid})'
dashboard['SERVICES'].append({ dash_info = {
'measurement': measurement, 'measurement': measurement,
'title': title, 'title': title,
'scid': scid, 'scid': scid,
'sort': (sid[:2], name), 'sort': (sid[:2], name),
'is_lambda': is_lambda 'is_lambda': is_lambda,
}) 'has_v6': has_v6_interface
}
dashboard['SERVICES'].append(dash_info)
if is_re_peer:
agg_data = dash_info.copy()
agg_data['alias'] = title.replace(' - {}', '')
dashboard['AGGREGATES'].append(agg_data)
for customer in list(result.keys()): for customer in list(result.keys()):
lengths = [len(val) for val in result[customer].values()] lengths = [len(val) for val in result[customer].values()]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment