Skip to content
Snippets Groups Projects
Commit cfffc49b authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

Update method for excluding dashboards under NREN Access

parent 166f3b65
No related branches found
No related tags found
No related merge requests found
...@@ -176,8 +176,10 @@ def provision_folder(token_request, folder_name, dash, ...@@ -176,8 +176,10 @@ def provision_folder(token_request, folder_name, dash,
Function to provision dashboards within a folder. Function to provision dashboards within a folder.
""" """
# def _check_valid(interface): if not isinstance(excluded_dashboards, (list, set)):
# return interface['dashboard_info']['name'] != '' excluded_dashboards = set()
else:
excluded_dashboards = set([s.lower() for s in excluded_dashboards])
folder = find_folder(token_request, folder_name) folder = find_folder(token_request, folder_name)
tag = dash['tag'] tag = dash['tag']
...@@ -194,7 +196,8 @@ def provision_folder(token_request, folder_name, dash, ...@@ -194,7 +196,8 @@ def provision_folder(token_request, folder_name, dash,
is_nren = folder_name == 'NREN Access' is_nren = folder_name == 'NREN Access'
if is_nren: if is_nren:
services = fetch_services(config['reporting_provider']) services = fetch_services(config['reporting_provider'])
data = get_nren_interface_data(services, interfaces) data = get_nren_interface_data(
services, interfaces, excluded_dashboards)
dash_data = get_nren_dashboard_data(data, ds_name, tag) dash_data = get_nren_dashboard_data(data, ds_name, tag)
else: else:
data = get_interface_data(interfaces) data = get_interface_data(interfaces)
...@@ -204,11 +207,6 @@ def provision_folder(token_request, folder_name, dash, ...@@ -204,11 +207,6 @@ def provision_folder(token_request, folder_name, dash,
tag=tag, tag=tag,
errors=errors) errors=errors)
if not isinstance(excluded_dashboards, list):
excluded_dashboards = []
else:
excluded_dashboards = [s.lower() for s in excluded_dashboards]
provisioned = [] provisioned = []
with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor: with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
...@@ -273,6 +271,9 @@ def is_excluded_folder(org_config, folder_name): ...@@ -273,6 +271,9 @@ def is_excluded_folder(org_config, folder_name):
def excluded_folder_dashboards(org_config, folder_name): def excluded_folder_dashboards(org_config, folder_name):
excluded_folders = org_config.get('excluded_folders', {}) excluded_folders = org_config.get('excluded_folders', {})
excluded = excluded_folders.get(folder_name, []) excluded = excluded_folders.get(folder_name, [])
if folder_name == 'NREN Access':
excluded_nrens = org_config.get('excluded_nrens', [])
excluded = list(set(excluded).union(set(excluded_nrens)))
return excluded if isinstance(excluded, list) else [] return excluded if isinstance(excluded, list) else []
...@@ -631,8 +632,6 @@ def provision(config): ...@@ -631,8 +632,6 @@ def provision(config):
ds_name = datasource.get('name', 'PollerInfluxDB') ds_name = datasource.get('name', 'PollerInfluxDB')
managed_dashboards = itertools.chain( managed_dashboards = itertools.chain(
# _provision_service_dashboards(
# config, org_config, ds_name, token_request),
_provision_interfaces( _provision_interfaces(
config, org_config, ds_name, token_request), config, org_config, ds_name, token_request),
_provision_gws_indirect( _provision_gws_indirect(
......
...@@ -64,7 +64,7 @@ def letter_generator(): ...@@ -64,7 +64,7 @@ def letter_generator():
yield result yield result
def get_nren_interface_data(services, interfaces): def get_nren_interface_data(services, interfaces, excluded_dashboards):
""" """
Helper for grouping interfaces into groups of NRENs Helper for grouping interfaces into groups of NRENs
Extracts information from interfaces to be used in panels. Extracts information from interfaces to be used in panels.
...@@ -78,6 +78,8 @@ def get_nren_interface_data(services, interfaces): ...@@ -78,6 +78,8 @@ def get_nren_interface_data(services, interfaces):
for service in services: for service in services:
_customers = service.get('customers') _customers = service.get('customers')
for cust in _customers: for cust in _customers:
if cust.lower() in excluded_dashboards:
continue
customers[cust].append(service) customers[cust].append(service)
for customer, services in customers.items(): for customer, services in customers.items():
......
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