From d3d947e84ccae19364133eaa69d83b993505a33a Mon Sep 17 00:00:00 2001 From: Sam Roberts <sam.roberts@geant.org> Date: Fri, 4 Oct 2024 14:35:49 +0100 Subject: [PATCH] fix EAP aggregate not being populated --- brian_dashboard_manager/grafana/provision.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py index ac7b1be..55faf80 100644 --- a/brian_dashboard_manager/grafana/provision.py +++ b/brian_dashboard_manager/grafana/provision.py @@ -195,6 +195,11 @@ AGG_DASHBOARDS = { 'dashboard_name': 'ANA', 'interfaces': [] }, + 'EAP': { + 'tag': 'eap', + 'dashboard_name': 'EAP Aggregate', + 'interfaces': [] + } } NREN_CATEGORIES = { @@ -470,6 +475,17 @@ def _provision_interfaces(config, org_config, ds_name, token): ifaces = AGG_DASHBOARDS[dash_name]['interfaces'] ifaces.append(iface) + # aggregate dashboards based on dashboards_info + # there is no way for inventory provider to identify an interface as + # belonging to an EAP NREN at the level 'dashboards' is set + # (based on description and without access to service data) + # so we have to do this as an extra check on 'dashboards_info' + for dashboard in iface['dashboards_info']: + dash_name = dashboard['name'] + if dash_name in AGG_DASHBOARDS: + ifaces = AGG_DASHBOARDS[dash_name]['interfaces'] + ifaces.append(iface) + # provision dashboards and their folders with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor: provisioned = [] -- GitLab