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
No related branches found
No related tags found
No related merge requests found
......@@ -458,7 +458,8 @@ def get_service_data(service_type, services, interfaces, excluded_dashboards):
for customer, services in customers.items():
dashboard = result.setdefault(customer, {
'SERVICES': []
'SERVICES': [],
'AGGREGATES': [],
})
for service in services:
......@@ -469,6 +470,8 @@ def get_service_data(service_type, services, interfaces, excluded_dashboards):
measurement = 'scid_rates'
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:
continue
......@@ -476,19 +479,31 @@ def get_service_data(service_type, services, interfaces, excluded_dashboards):
if 'interface' in _interfaces[0]:
if_name = _interfaces[0].get('interface')
router = _interfaces[0].get('hostname')
addresses = _interfaces[0].get('addresses', [])
has_v6_interface = any(':' in addr for addr in addresses)
else:
if_name = _interfaces[0].get('port')
router = _interfaces[0].get('equipment')
has_v6_interface = False
router = router.replace('.geant.net', '')
title = f'{router} - {{}} - {if_name} - {name} ({sid})'
dashboard['SERVICES'].append({
dash_info = {
'measurement': measurement,
'title': title,
'scid': scid,
'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()):
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