diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py index 69da36bf491509215fec9a4a55a6b3d7c281f86f..a034dc639f1e65be2244252ecb90297b8b034432 100644 --- a/brian_dashboard_manager/grafana/provision.py +++ b/brian_dashboard_manager/grafana/provision.py @@ -390,7 +390,7 @@ def _interfaces_to_keep(interface, excluded_nrens): return should_keep -def _provision_interfaces(thread_executor: ThreadPoolExecutor, config, org_config, ds_name, token): +def _provision_interfaces(thread_executor: ThreadPoolExecutor, config, org_config, ds_name, token, interfaces, services, regions): """ This function is used to provision most dashboards, overwriting existing ones. @@ -403,10 +403,6 @@ def _provision_interfaces(thread_executor: ThreadPoolExecutor, config, org_confi :return: generator of dashboards that were created """ - interfaces = get_interfaces(config['inventory_provider']) - services = fetch_services(config['reporting_provider']) - regions = get_nren_regions(config['inventory_provider']) - excluded_nrens = org_config['excluded_nrens'] excluded_folders = org_config.get('excluded_folders', {}) @@ -779,7 +775,7 @@ def _provision_orgs(config): return all_orgs -def _provision_org(config, org, org_config): +def _provision_org(config, org, org_config, interfaces, services, regions): try: request = AdminRequest(**config) org_id = org['id'] @@ -812,7 +808,7 @@ def _provision_org(config, org, org_config): # call to list is needed to queue up the futures managed_dashboards = list(itertools.chain( - _provision_interfaces(*args), + _provision_interfaces(*args, interfaces, services, regions), _provision_gws_indirect(*args), _provision_gws_direct(*args), _provision_eumetsat_multicast(*args), @@ -901,9 +897,11 @@ def provision(config): return None orgs = list(filter(lambda t: t[1] is not None, [(org, _find_org_config(org)) for org in all_orgs])) - + interfaces = get_interfaces(config['inventory_provider']) + services = fetch_services(config['reporting_provider']) + regions = get_nren_regions(config['inventory_provider']) for org, org_config in orgs: - _provision_org(config, org, org_config) + _provision_org(config, org, org_config, interfaces, services, regions) logger.info(f'Time to complete: {time.time() - start}')