diff --git a/brian_dashboard_manager/templating/helpers.py b/brian_dashboard_manager/templating/helpers.py index e7bbd68772272967caa6af9185172cb1ab80ed5c..48012f5b551a951b7f2d2039000cf13e6ad56dfb 100644 --- a/brian_dashboard_manager/templating/helpers.py +++ b/brian_dashboard_manager/templating/helpers.py @@ -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_all_traffic=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_all_traffic: include ipv4 + other traffic interfaces + :param use_ipv6: include ipv6 interfaces :return: function that generates panel definitions """ @@ -518,36 +519,29 @@ def default_interface_panel_generator(gridPos, ipv6_only=False): :param panels: panel data :param datasource: datasource to use for the panel - :param errors: whether or not to include an error panel + :param errors: whether to include an error panel :return: list of panel definitions """ 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_all_traffic: 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_all_traffic=True, use_ipv6=False) + panel_ipv6_gen = default_interface_panel_generator(gridPos, use_all_traffic=False, use_ipv6=True) services_dropdown = create_dropdown_panel('Services', **next(gridPos)) diff --git a/changelog.md b/changelog.md index 53fb89afe18a50a87f49cb4e476b99f087409e9d..cfe7dc088f4825814c0c69c57a6493b0c2dcaae4 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,9 @@ All notable changes to this project will be documented in this file. +## [0.60] - 2024-04-24 +- POL1-809: hide ipv6 only interfaces from service panel showing interfaces with all traffic + ## [0.59] - 2024-04-24 - Add exception logging when provisioning to aid in debugging - Fix inventory-provider schema to be less strict to support new values in the future diff --git a/setup.py b/setup.py index 6faadf15181667525ef792e9fcbe2d1e9a888f6f..45fe9d16e568af7a42d32e790eee4923eb3a492a 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='brian-dashboard-manager', - version="0.59", + version="0.60", author='GEANT', author_email='swd@geant.org', description='',