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):
if_name = _interfaces[0].get('port')
router = _interfaces[0].get('equipment')
router = router.replace('.geant.net', '')
title = f'{router} - {if_name} - {name} ({sid})'
title = f'{router} - {{}} - {if_name} - {name} ({sid})'
if lag_service:
if len(_interfaces) > 1:
......@@ -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.
......@@ -503,7 +503,8 @@ def default_interface_panel_generator(gridPos, ipv6_only=False):
panel data and panel type.
: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
"""
......@@ -525,29 +526,22 @@ def default_interface_panel_generator(gridPos, ipv6_only=False):
result = []
for panel in panels:
if ipv6_only:
if panel.get('has_v6', False):
result.append(get_panel_fields({
**panel,
**next(gridPos)
}, 'IPv6', datasource))
else:
continue
else:
if use_ipv4:
result.append(get_panel_fields({
**panel,
**next(gridPos)
}, 'traffic', datasource))
if use_ipv6:
if panel.get('has_v6', False):
result.append(get_panel_fields({
**panel,
**next(gridPos)
}, 'IPv6', datasource))
if errors:
result.append(get_panel_fields({
**panel,
**next(gridPos)
}, 'errors', datasource))
if errors:
result.append(get_panel_fields({
**panel,
**next(gridPos)
}, 'errors', datasource))
return result
......@@ -583,8 +577,8 @@ def get_nren_dashboard_data_single(data, datasource, tag):
gridPos = gridPos_generator(id_gen)
agg_panels = []
panel_gen = default_interface_panel_generator(gridPos)
panel_ipv6_gen = default_interface_panel_generator(gridPos, ipv6_only=True)
panel_gen = default_interface_panel_generator(gridPos, use_ipv4=True, use_ipv6=False)
panel_ipv6_gen = default_interface_panel_generator(gridPos, use_ipv4=False, use_ipv6=True)
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