Skip to content
Snippets Groups Projects
Commit f9e54552 authored by Sam Roberts's avatar Sam Roberts
Browse files

Merge branch 'feature/POL1-809-only-show-ipv6-services-in-ipv6-section' into 'develop'

rework ipv6 service panel generator so that ipv4 panels don't include ipv6 interfaces

See merge request !8
parents 1b20461e f3c8028b
No related branches found
No related tags found
1 merge request!8rework ipv6 service panel generator so that ipv4 panels don't include ipv6 interfaces
...@@ -212,7 +212,7 @@ def get_nren_interface_data(services, interfaces, excluded_dashboards): ...@@ -212,7 +212,7 @@ def get_nren_interface_data(services, interfaces, excluded_dashboards):
if_name = _interfaces[0].get('port') if_name = _interfaces[0].get('port')
router = _interfaces[0].get('equipment') router = _interfaces[0].get('equipment')
router = router.replace('.geant.net', '') router = router.replace('.geant.net', '')
title = f'{router} - {if_name} - {name} ({sid})' title = f'{router} - {{}} - {if_name} - {name} ({sid})'
if lag_service: if lag_service:
if len(_interfaces) > 1: if len(_interfaces) > 1:
...@@ -495,7 +495,7 @@ def get_panel_fields(panel, panel_type, datasource): ...@@ -495,7 +495,7 @@ def get_panel_fields(panel, panel_type, datasource):
}) })
def default_interface_panel_generator(gridPos, ipv6_only=False): def default_interface_panel_generator(gridPos, use_ipv4=True, use_ipv6=True):
""" """
Helper for generating panel definitions for dashboards. Helper for generating panel definitions for dashboards.
...@@ -503,7 +503,8 @@ def default_interface_panel_generator(gridPos, ipv6_only=False): ...@@ -503,7 +503,8 @@ def default_interface_panel_generator(gridPos, ipv6_only=False):
panel data and panel type. panel data and panel type.
:param gridPos: generator for grid positions :param gridPos: generator for grid positions
:param ipv6_only: whether to use IPv6 traffic exclusively or not :param use_ipv4: include ipv4 interfaces
:param use_ipv6: include ipv6 interfaces
:return: function that generates panel definitions :return: function that generates panel definitions
""" """
...@@ -525,29 +526,22 @@ def default_interface_panel_generator(gridPos, ipv6_only=False): ...@@ -525,29 +526,22 @@ def default_interface_panel_generator(gridPos, ipv6_only=False):
result = [] result = []
for panel in panels: for panel in panels:
if ipv6_only: if use_ipv4:
if panel.get('has_v6', False):
result.append(get_panel_fields({
**panel,
**next(gridPos)
}, 'IPv6', datasource))
else:
continue
else:
result.append(get_panel_fields({ result.append(get_panel_fields({
**panel, **panel,
**next(gridPos) **next(gridPos)
}, 'traffic', datasource)) }, 'traffic', datasource))
if use_ipv6:
if panel.get('has_v6', False): if panel.get('has_v6', False):
result.append(get_panel_fields({ result.append(get_panel_fields({
**panel, **panel,
**next(gridPos) **next(gridPos)
}, 'IPv6', datasource)) }, 'IPv6', datasource))
if errors: if errors:
result.append(get_panel_fields({ result.append(get_panel_fields({
**panel, **panel,
**next(gridPos) **next(gridPos)
}, 'errors', datasource)) }, 'errors', datasource))
return result return result
...@@ -583,8 +577,8 @@ def get_nren_dashboard_data_single(data, datasource, tag): ...@@ -583,8 +577,8 @@ def get_nren_dashboard_data_single(data, datasource, tag):
gridPos = gridPos_generator(id_gen) gridPos = gridPos_generator(id_gen)
agg_panels = [] agg_panels = []
panel_gen = default_interface_panel_generator(gridPos) panel_gen = default_interface_panel_generator(gridPos, use_ipv4=True, use_ipv6=False)
panel_ipv6_gen = default_interface_panel_generator(gridPos, ipv6_only=True) panel_ipv6_gen = default_interface_panel_generator(gridPos, use_ipv4=False, use_ipv6=True)
services_dropdown = create_dropdown_panel('Services', **next(gridPos)) services_dropdown = create_dropdown_panel('Services', **next(gridPos))
......
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