diff --git a/brian_dashboard_manager/config.py b/brian_dashboard_manager/config.py index 58d54273bdae24c494c63b35aae4bbc23ed872b1..294e16e2b03b539f4451359f362f0754818053fb 100644 --- a/brian_dashboard_manager/config.py +++ b/brian_dashboard_manager/config.py @@ -84,6 +84,7 @@ DEFAULT_ORGANIZATIONS = [ "excluded_nrens": [ "CUSTOMER GEANT", "GEANT-IT", + "PSNC", "PIONIER", ], "excluded_dashboards": [ diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py index 2fdca1496f6a63505ce9cb3a2a48204d6cbf4029..80b5aae2c1ddae3e4df5c21017a117b0b17abe24 100644 --- a/brian_dashboard_manager/grafana/provision.py +++ b/brian_dashboard_manager/grafana/provision.py @@ -313,7 +313,11 @@ def provision(config): # NREN Access dashboards # uses a different template than the above. logger.info('Provisioning NREN Access dashboards') + # always recreate NREN folder + delete_folder(token_request, 'NREN Access') + folder = find_folder(token_request, 'NREN Access') + nrens = filter(is_nren, excluded_interfaces) generate_all_nrens(token_request, nrens, folder['id'], datasource_name) diff --git a/test/test_update.py b/test/test_update.py index 4b63f49b01417950305bac3131167e0ce5620607..04851d0a157642b4be79ff0ead7c1581c8e72463 100644 --- a/test/test_update.py +++ b/test/test_update.py @@ -1,5 +1,6 @@ import responses import json +import re from brian_dashboard_manager.templating.nren_access import get_nrens from brian_dashboard_manager.grafana.provision import provision_folder, \ generate_all_nrens, provision @@ -330,6 +331,14 @@ def test_provision(data_config, mocker, client): url=f"http://{data_config['hostname']}/api/folders", callback=folder_get) + def folder_delete(request): + return 200, {}, json.dumps({"message": "Deleted folder"}) + + responses.add_callback( + method=responses.DELETE, + url=re.compile(f"http://{data_config['hostname']}/api/folders"), + callback=folder_delete, ) + def folder_post(request): data = json.loads(request.body) return 200, {}, json.dumps(generate_folder(data))