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/changelog.md b/changelog.md index 7f357243d7ba70c3dcda3cc1562f1a04be1668ff..4ffeb7a57a474be8a1dd380b65ef7e33d6d5935a 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,9 @@ All notable changes to this project will be documented in this file. +## [0.13] - 2021-04-15 +- Delete NREN folder when provisioning, stale dashboards could otherwise never be removed. + ## [0.12] - 2021-04-15 - POL1-416 remaining changes diff --git a/setup.py b/setup.py index ed5ce2ae4df22403aaebaca9b80b3e0b49d1f8a3..eb68a217263496bee12adb255450881ad5686e2e 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='brian-dashboard-manager', - version="0.12", + version="0.13", author='GEANT', author_email='swd@geant.org', description='', 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))