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

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

parent 4267e482
Branches
Tags 0.60
1 merge request!8rework ipv6 service panel generator so that ipv4 panels don't include ipv6 interfaces
......@@ -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.
Please register or to comment